我有一个名为ShowGrid的Datagrid。 Datagrid的第一列是Checkbox列,我有一个CheckboxHeader,用于检查/取消选中Datagrid中的所有行。
我还可以为Buttonclick选择特定行复选框。在Buttonclick之后,我禁用特定行的复选框。
在此之后,如果我选中checkboxHeader,则也会检查已禁用的复选框。那么如何在选中CheckboxHeader时仅选择启用的复选框。我使用了以下代码,但我得到Object reference not set to an instance of an object.
异常。
foreach (DataGridViewRow row in ShowGrid.Rows)
{
if ((bool)row.Cells[0].Value == true && (bool)row.Cells[0].ReadOnly == false)
{
ShowGrid[0, row.Index].Value = ((CheckBox)ShowGrid.Controls.Find("checkboxHeader", true)[0]).Checked;
}
}
ShowGrid.EndEdit();
答案 0 :(得分:0)
更新您的if语句代码,如下所示
if (row.Cells != null &&(bool)row.Cells[0].Value == true && (bool)row.Cells[0].ReadOnly == false)
{
ShowGrid[0, row.Index].Value = ((CheckBox)ShowGrid.Controls.Find("checkboxHeader", true)[0]).Checked;
}