DataGridView - 当一行中的任何单元格被更改时,我想提示用户并保留更改,如果离开该行

时间:2014-12-21 19:50:41

标签: c# datagridview

如果用户离开行,他们对datagridview control中的任何单元格进行了更改,我想让他们保存更改,然后保存更改。

问题在于我无法找到属性和事件的难以捉摸和神奇的组合来实现这一点。当我尝试从RowValidatingRowValidatedRowLeaveRowStateChanged等事件调用保存例程时,更改的单元格的值,或者至少是行中的最后一个单元格,不是新值。 它在更改之前作为旧值出现。它似乎取消了编辑。

我确实在这里看过类似的问题,但他们没有解决我的问题。有人可以帮助和建议最好的方法,或一个很好的方法来实现这一点???

谢谢!

瓦尔哈拉

1 个答案:

答案 0 :(得分:1)

为RowLeave添加一个事件处理程序:

private void dataGridView1_RowLeave(object sender, DataGridViewCellEventArgs e)
{
  if (this.dataGridView1.IsCurrentRowDirty)
  {
    this.dataGridView1.EndEdit();
    // Your prompt to save code.
  }
}