DataGridViewCheckBoxColumn

DataGridViewCheckBoxColumn

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

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

该列定义如下:

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

            dataGridView.Columns.Add(column);

最佳答案

您可以通过处理 CurrentCellDirtyStateChangedDataGridView 事件来做到这一点。

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

关于winforms - DataGridViewCheckBoxColumn : how to update bound DataSource on property changed instead of on validation,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6468263/

10-11 01:29