C# 带有复选框单元格问题的DataGridView

C# 带有复选框单元格问题的DataGridView,c#,winforms,data-binding,C#,Winforms,Data Binding,我有一个带有DataGridViewCheckBoxColumn列的DataGridView,该列是数据绑定到列表的。问题在于,此复选框的数据绑定布尔属性不是在复选框被选中/取消选中时更新的,而是在CellLeave事件之后(换句话说,在单元格失去焦点之后)更新的。我希望在选中/取消选中后立即更新此属性。有一个事件CurrentCellDirtyStateChanged,它在选中/取消选中发生后立即触发,因此我可以使用它手动更新属性。有更好的方法吗?您可以侦听事件并强制提交更改: void da

我有一个带有DataGridViewCheckBoxColumn列的DataGridView,该列是数据绑定到列表的。问题在于,此复选框的数据绑定布尔属性不是在复选框被选中/取消选中时更新的,而是在CellLeave事件之后(换句话说,在单元格失去焦点之后)更新的。我希望在选中/取消选中后立即更新此属性。有一个事件CurrentCellDirtyStateChanged,它在选中/取消选中发生后立即触发,因此我可以使用它手动更新属性。有更好的方法吗?

您可以侦听事件并强制提交更改:

void dataGridView1_CurrentCellDirtyStateChanged(object sender,
    EventArgs e)
{
    if (dataGridView1.IsCurrentCellDirty)
    {
        dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
    }
}

请看Binding.UpdateSourceTrigger属性


是的,如果您注意到msdn文档是针对silverlight的。我自己还没有真正使用过它,但在谷歌上有一些例子。