为什么当单元格脏时,CommitEdit不会触发cellValueChanged事件?

时间:2015-03-31 08:45:38

标签: c# datagridview

我遇到过这样的情况:

单击单元格时,数据源将在CellBeginEdit事件中重置,因此单元格被标记为脏。然后触发CellContentClick事件,将单元格标记为undirty(如下所示)。我认为这将触发CellValueChanged事件,但它直接转向CellEndEdit事件。我检查了CommitEdit函数,它说系统会将更改提交给数据缓存。我认为这将触发一个单元格值更改事件,但这并没有。任何人都可以详细说明一下吗?非常感谢!

void gridRow_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
        if (gridRow.IsCurrentCellDirty)//First this is dirty
        {
            gridRow.CommitEdit(DataGridViewDataErrorContexts.Commit);
        }// After Commit, this is undirty
    }

0 个答案:

没有答案