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