我在Windows窗体中有DataGridView
,其中包含13个复选框。一个checbox i-e(第一个)是检查基本上几个月的所有其他复选框。所以现在我希望当我选中第一个复选框时,应检查所有其他复选框,当我取消选中第一个复选框时,应取消选中所有复选框。当我检查第一个复选框时,我的代码工作正常,但是当我取消选中第一个复选框时,仍会选中所有复选框。但我希望他们不受限制。我使用了CellContentClick
事件
这是我的代码。
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;
}
}
答案 0 :(得分:0)
值返回一个对象类型,无法与布尔值进行比较。您可以将值强制转换为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 + ',';
}
}