我有一个绑定(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);
最佳答案
您可以通过处理 CurrentCellDirtyStateChanged
的 DataGridView
事件来做到这一点。
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/