这似乎是一些非常基本的功能,但我无法在StackOverflow或文档中找到任何具体示例。
检查DataGridView的事件似乎没有任何可以直接监视复选框单元格中的更改的内容。
任何人都可以提供一个监控datagridview中的复选框检查事件然后执行方法的示例吗?
答案 0 :(得分:0)
经过一段时间的搜索后,我发现获取更改值的最佳方法是检查CurrentCellDirtyStateChanged并使用该触发器进行编辑并检查单元格的当前值:
private void DataGrid_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (DataGrid.Columns[e.ColumnIndex].Name == "colReserved")
{
DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)DataGrid.Rows[e.RowIndex].Cells["colReserved"];
if ((Boolean)checkCell.Value)
{
//Checked
MessageBox.Show("Checked");
}
else
{
//Not Checked
MessageBox.Show("UnChecked");
}
DataGrid.Invalidate();
}
}
private void DataGrid_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
if (DataGrid.IsCurrentCellDirty)
{
DataGrid.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
}