我遇到过这样的情况:
单击单元格时,数据源将在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
}