我有一个代表列名称的复选框列表。用户需要选择他/她想要在datagridview中显示的列。标题中还有一个复选框,单击该复选框将设置将自动选中代表列名称的所有复选框。问题是条件if (cell.Value != null)
。 cell.Value
设置为false。因此消息框不会弹出。为什么会发生这种情况,我该如何解决它们。提前谢谢。
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
DataGridViewCheckBoxCell cell = row.Cells[0] as DataGridViewCheckBoxCell;
if (cell.Value != null)
{
if (cell.Value == cell.TrueValue)
{
MessageBox.Show("checked");
}
}
}
}
这是用户选中标题复选框时的代码。
private void checkboxHeader_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
dataGridView1[0, i].Value = ((CheckBox)dataGridView1.Controls.Find("checkboxHeader", true)[0]).Checked;
}
dataGridView1.EndEdit();
}