7

我有一个绑定列表作为 DataGridView 的数据源;TSource 属性之一绑定到 DataGridViewCheckBoxColumn,但数据源不是在单击复选框时更新,而是在复选框本身失去焦点时更新。

我知道当 DataSourceUpdateMode 是“OnValidation”而不是“OnPropertyChanged”时,标准 WindowsForms 绑定上会发生类似的事情,但是如何使用 DataGridViewCheckBoxColumn 获得相同的结果?

该列定义如下:

            DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
            column.DataPropertyName = "MyProperty";
            column.HeaderText = "Title";

            dataGridView.Columns.Add(column);
4

1 回答 1

10

您可以通过CurrentCellDirtyStateChanged处理DataGridView.

void dataGridView1_CurrentCellDirtyStateChanged(object sender,EventArgs e)
{
    if (dataGridView1.IsCurrentCellDirty)
    {
        dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
    }
}
于 2011-06-24T14:52:56.313 回答