我有一个WinForms应用程序。在DataGridView中,我使用以下代码动态生成了一个复选框列:
DataGridViewCheckBoxColumn myCheckedColumn = new DataGridViewCheckBoxColumn()
{
Name = "My column",
FalseValue = 0,
TrueValue = 1,
Visible = true
};
mydatagridview.Columns.Insert(0, myCheckedColumn);
当我点击一个复选框时,我想执行验证检查,因为只检查一个复选框,而不是多个复选框。
我尝试使用事件mydatagridview_CellContentClick
,但我无法触发此事件。
我编写的事件代码如下:
private void mydatagridview_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if ((sender as DataGridView).CurrentCell is DataGridViewCheckBoxCell)
{
if (Convert.ToBoolean(((sender as DataGridView).CurrentCell as DataGridViewCheckBoxCell).Value))
{
int currentcolumnclicked = e.ColumnIndex;
int currentrowclicked = e.RowIndex;
foreach (DataGridViewRow dr in associatinggridView.Rows)
{
dr.Cells[currentcolumnclicked].Value = false;
}
associatinggridView.CurrentRow.Cells[currentrowclicked].Value = true;
}
}
}
答案 0 :(得分:0)
你必须使用CellValueChanged事件和CurrentCellDirtyStateChanged事件......请在这里查看我的答案,它在vb中,但你只需要事件。