关闭时,我如何通知用户DataGridView DataTable中未保存的更改?

时间:2018-09-07 08:15:13

标签: c# datagridview

我有一个datagridview,它显示SQL数据库中的表。我可以编辑此表。然后,我有一个按钮来保存此更改,并在SQL Server数据库中更新此表。

我将如何检测对表的更改,并在用户关闭表单或转到另一个表时通知用户他没有保存更改? 通知窗口中未保存更改的代码如下:

 if (MessageBox.Show("Do you want to save your changes!", "Save changes", MessageBoxButtons.YesNo) == DialogResult.Yes)
        {
            scb = new SqlCommandBuilder(sda);
            DataTable dt;
            sda.Update(dt);
            MessageBox.Show("Changes saved");
        }

2 个答案:

答案 0 :(得分:0)

您有很多方法可以解决这个问题。例如,我认为我将DataGridView设为ReadOnly,然后将一个按钮进行编辑。当用户单击此按钮时,它将打开新表单,用户可以在此进行编辑。然后,如果以这种形式发生了某些事情,它将被保存(如果更改有效)。这就是我的方法。

或者也许您可以设置每次用户关闭表单时保存所做的更改。您必须每次都以错误的用户行为来计数...:)

答案 1 :(得分:0)

订阅DataGridView的CellValueChanged事件,并设置一个布尔值标志,表示网格已更改,然后在离开应用程序时进行检查。

相关问题