我有一个带有列索引12中的复选框的datagridview。工具条上有一个按钮,需要迭代这些已检查的行并删除这些项。
我的代码没有检测到单元格被检查(bChecked变量总是为false),调试时的值为false。
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
}
}
有什么想法吗?
感谢。
答案 0 :(得分:1)
最好不要使用DataGridViewCheckBoxCell的CellValueChanged事件吗? 每次更改checkboxcell的值时都会引发此事件。
请参阅备注部分下的DataGridViewCell.Value。
订阅该事件将为您提供一种确定方法,以检测是否已检查该单元格。