DataGridView - 当一行中的任何单元格发生更改时,我想提示用户并在离开该行时保存更改

本文关键字:提示 保存更改 离开 用户 一行 单元格 任何 DataGridView | 更新日期: 2023-09-27 18:34:48

如果用户在对datagridview control中的任何单元格进行更改的地方留下一行,我想要求他们保存更改,然后保存更改。

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

确实在这里看了类似的问题,但它们没有解决我的问题。有人可以请帮助和建议最好的方法,或者实现这一目标的好方法吗???

谢谢!

瓦尔哈拉

DataGridView - 当一行中的任何单元格发生更改时,我想提示用户并在离开该行时保存更改

为 RowLeave 添加一个事件处理程序,如下所示:

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