在关闭VB.NET的表单上检测DataGridView中未保存的更改

时间:2014-08-28 18:45:10

标签: vb.net winforms datagridview datasource formclosing

您好我有一个DataGridView,它有一个数据表供其数据源使用。我有一个使用DataTable.GetChanges()方法的函数,当我在表单仍处于活动状态时运行该函数时,它可以很好地工作;但是,我将该函数放在窗体关闭事件中,以便在窗体关闭时检查未保存的更改,但由于某种原因,当我从关闭方法运行它时,它总是返回而没有任何更改。

我猜测在我的函数运行之前,数据源会在关闭时自动处理以获取更改。

无论如何都要阻止数据源被处理?我已经尝试在表单结束事件中执行e.Cancel = True,然后运行我的函数,但它仍然不起作用。

对此的任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

你确定你参加了Handles Me.FormClosing活动吗?我知道当我使用OnFormClose事件时我遇到了同样的困难。我的程序使用Me.FormClosing正常工作我所做的就是检查

如果dataset.has发生了变化       CallSaveLogic() 结束如果

对于数据表应该是相同的。

答案 1 :(得分:0)

我明白了。事实证明,当我在DataGrid中键入内容而没有按Enter键提交编辑时,它只保存了更改。它实际上与表单关闭无关。