C# 是否选中DataGridview中的复选框?

C# 是否选中DataGridview中的复选框?,c#,checkbox,datagridview,C#,Checkbox,Datagridview,我有windows窗体中的DataGridView,其中包含13个复选框。一个checbox i-e(第一个)是选中所有其他复选框,这些复选框基本上是几个月。所以现在我希望当我选中第一个复选框时,所有其他复选框都应该被选中,当我取消选中第一个复选框时,所有复选框都应该被取消选中。当我选中第一个复选框时,我的代码工作正常,但当我取消选中第一个复选框时,所有复选框仍处于选中状态。但我希望他们不受检查。我使用了CellContentClickevent. 这是我的密码 if (e.ColumnInde

我有windows窗体中的
DataGridView
,其中包含13个复选框。一个checbox i-e(第一个)是选中所有其他复选框,这些复选框基本上是几个月。所以现在我希望当我选中第一个复选框时,所有其他复选框都应该被选中,当我取消选中第一个复选框时,所有复选框都应该被取消选中。当我选中第一个复选框时,我的代码工作正常,但当我取消选中第一个复选框时,所有复选框仍处于选中状态。但我希望他们不受检查。我使用了
CellContentClick
event.
这是我的密码

if (e.ColumnIndex == 1)
{
    for (int k = 2; k <= 13; k++)
    {
        DataGridViewCell cell = dataGridView1.Rows[e.RowIndex].Cells[k];
        DataGridViewCheckBoxCell checkCell = cell as DataGridViewCheckBoxCell;
        checkCell.Value = true;
    }
}
if(e.ColumnIndex==1)
{

for(int k=2;kValue)返回一个对象类型,不能与布尔值进行比较。您可以将该值强制转换为bool

 if ((bool)row.Cells[1].Value == true)
        {
            // what I want to do
        }
试试这个:

 foreach (GridViewRow gvrow in gvDetails.Rows)
        {
            CheckBox chk = (CheckBox)gvrow.FindControl("chkSelect");
            if (chk != null & chk.Checked)
            {
                str += gvDetails.DataKeys[gvrow.RowIndex].Value.ToString() + ',';
                strname += gvrow.Cells[2].Text + ',';
            }
        }

它提供NullReferenceException检查此项