c# - 检查 DataGridView 上的所有复选框项目

标签 c# winforms datagridview checkbox

这是场景。

我有checkbox(名称:“Check All” ID:chkItems)和datagridview。当我单击此复选框时,datagridview 上的所有复选框也将被选中。

我还在网格上添加了复选框列。

DataGridViewCheckBoxColumn CheckboxColumn = new DataGridViewCheckBoxColumn();
CheckBox chk = new CheckBox();
CheckboxColumn.Width = 20;
GridView1.Columns.Add(CheckboxColumn);

这是复选框的隐藏代码。 row.Cell

有问题
private void chkItems_CheckedChanged(object sender, EventArgs e)
{
    foreach (DataGridViewRow row in GridView1.Rows)
    {
        DataGridViewCheckBoxCell chk = e.row.Cells(0);
        if (chk.Selected == false)
        {
            row.Cells(0).Value = true;
        }
    }
}   

最佳答案

DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell) row.Cells[0];

代替

DataGridViewCheckBoxCell chk = e.row.Cell(0);

*编辑:*我认为你真的想这样做:

foreach (DataGridViewRow row in dataGridView1.Rows)
{
       DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell) row.Cells[0];
       chk.Value = !(chk.Value == null ? false : (bool) chk.Value); //because chk.Value is initialy null
}

关于c# - 检查 DataGridView 上的所有复选框项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13242861/

相关文章:

c# - 如何将文本框中的字体大小绑定(bind)到数据源?

c# - 双显示器的持久窗体位置和大小

c# - 在 datagridview 中选择一个单元格并开始编辑

c# - Interop Word - 从文档中删除页面

c# - 从工具箱拖动控件时 ControlDesigner 未激活

c# - 如何从数据表自动创建一个类

c# - 如何在每个单元格中设置具有不同数据源的 DataGridView ComboBoxColumn?

c# - 为什么我的 ID 会随着互联网连接而改变?

c# - 如何向表格布局中的单元格添加鼠标右键事件?

c# - 如何在 DataGridView 中建议附加 ComboBox?