【发布时间】:2012-11-12 05:33:20
【问题描述】:
有人可以帮助我为什么它不起作用吗?
我有一个checkbox,如果我点击它,
这应该取消选中 datagridview 中的所有复选框,这些复选框在包含用户选择的复选框之前已被选中。
代码如下:
private void chkItems_CheckedChanged(object sender, EventArgs e)
{
foreach (DataGridViewRow row in datagridview1.Rows)
{
DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)row.Cells[1];
if (chk.Selected == true)
{
chk.Selected = false;
}
else
{
chk.Selected = true;
}
}
}
不应选中复选框。应该检查一下。
这是添加的列
DataGridViewCheckBoxColumn CheckboxColumn = new DataGridViewCheckBoxColumn();
CheckBox chk = new CheckBox();
CheckboxColumn.Width = 20;
datagridview1.Columns.Add(CheckboxColumn);
【问题讨论】:
-
你想要一个检查未选中行和取消选中已选中行的反转函数吗?
-
提示:不要忘记调用
datagridview1.EndEdit()否则检查的值将不会正确显示在事件处理程序中。
标签: c# winforms datagridview datagridviewcheckboxcell