1

我在列索引 12 中有一个带有复选框的 datagridview。工具条上有一个按钮,它需要迭代这些检查的行并删除项目。

我的代码没有检测到单元格已被检查(bChecked 变量始终为假),它在调试时的值为假。

foreach (DataGridViewRow row in dataGridView1.Rows)
{
    DataGridViewCheckBoxCell oCell = row.Cells[12] as DataGridViewCheckBoxCell;
    bool bChecked = (null != oCell && null != oCell.Value && true == (bool)oCell.Value);

    if (bChecked == true)
    {
        //Do something
    }
}

有任何想法吗?

谢谢。

4

1 回答 1

1

使用 DataGridViewCheckBoxCell 的 CellValueChanged 事件不是更好吗?每次更改复选框单元格的值时都会引发此事件。

请参阅备注部分下的DataGridViewCell.Value 。

订阅该事件将为您提供一种检测单元格是否被选中的可靠方法。

于 2013-03-15T15:38:06.760 回答