winform中的dataGridView后台动态绑定按钮,并可以清空按钮 20

目前后面操作列中的两个按钮是在后台通过此方法实现的,目前想做的是点击图中的“已读留言”按钮,dataGridView重新绑定数据而且操作列中的按钮会变,我用dataGri... 目前后面操作列中的两个按钮是在后台通过

此方法实现的,目前想做的是点击图中的“已读留言”按钮,dataGridView重新绑定数据而且操作列中的按钮会变,我用
dataGridView.Rows.Clear();
dataGridView.Controls.Clear();数据列清空了,按钮列无法清除,请问各位大侠该如何实现,而且怎么给这按钮绑定数据的id,实现按钮的后台操作功能
展开
 我来答
Sxzy灬丨小柒
2015-09-18 · TA获得超过623个赞
知道小有建树答主
回答量:1223
采纳率:50%
帮助的人:309万
展开全部
  1. Button无法清除?

    你的清空是这样的

    dataGridView.Rows.Clear();

    dataGridView.Controls.Clear();

    你的按钮在dataGridview容器里,所以要在容器里删除.

    你button并没有绑定Id,所以无法通过Id删除,那么通过名称删除.

     private void DeleteLabel(string cName)//根据控件Name删除控件
            {
                foreach (Control c in dataGridview2.Controls)
                {
                    if (c.Name == cName)
                    {
                        Controls.Remove(c);
                        break;
                    }
                }
            }

    只需要输入你的button.Text就可以了.

  2. button怎么绑定数据Id?

    在动态创建button时,给btn[0]设置一个Tag属性

    写 btn[0].Tag = "数据Id";//object类型

    读 btn[0].Tag.String();

追问
this.dgvInfo.Controls.Add(btn[0]);this.dgvInfo.Controls.Add(btn[1]);其中dgvInfo是dataGridView,我现在是这样写的:for (int i = 0; i < _noreadnum; i++){dgvInfo.Controls.Clear();}
现在只有两行的话,按钮会清空不掉,多行的话,点击操作按钮是没问题的
追答
没看懂你这次的追问
我看你代码上写着是 dataGridview2.Controls.Add(btn[0]);
你为什么说是this.dgvInfo.Controls.Add(btn[0]);

对了 还要提醒你一下,一个窗体内显示的控件数,不要太多.5,6十个后窗体加载就会感到卡
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式