在WinForm下,用户编辑数据时,当用户改动了表单数据后退出时如何提示用户保存?
关键是如何判断用户改了哪些数据, 不会是调每个控件的OnMouseUp OnKeyUP事件吧?这样太复杂了. 问题点数:20、回复次数:8Top
1 楼3tzjq(永不言弃)回复于 2005-03-17 09:19:25 得分 10
写WinForm的Closing事件,判断: if (ds.HasChanges) messagebox.show("有数据需要更新!");Top
2 楼royluok(roy lu)回复于 2005-03-17 09:19:41 得分 10
在窗口的Closing事件中加入对你的数据表检测代码,示例如下:
Dim tb As DataTable '你的数据表
Private Sub FrmSelect_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
If Not tb.GetChanges Is Nothing AndAlso tb.GetChanges.Rows.Count > 0 Then
If MessageBox.Show("要保存数据吗?") = DialogResult.Yes Then
'执行你的保存代码
End If
End If
End SubTop
3 楼BoSun(每一天都是星期天)回复于 2005-03-17 09:33:20 得分 0
好方法!但是若不是用的数据绑定呢?Top
4 楼milp()回复于 2005-03-17 09:33:39 得分 0
问题是你的Datatable怎么自动更新呀.假设是一个TextBox控件,值为 dataTable.Row[0]["name"] 如何绑定他们,让TextBox中的值改变后, dataTable会自动改变?Top
5 楼xxuu503(中国没有prison break只是因为the company不让拍)回复于 2005-03-17 09:52:10 得分 0
bool一个变量,如果表更改了,在datagrid事件里,把它为true,close的时候判断是否为true,是否更新Top
6 楼milp()回复于 2005-03-17 10:31:04 得分 0
问题是表单不可能全是DataGrid呀,就是一个简单的Form里面有十几个TextBox.Top
7 楼milp()回复于 2005-03-20 20:16:58 得分 0
???Top
8 楼shuaizhen(object Net)回复于 2005-03-22 13:35:15 得分 0
milp()说的没错。那样该怎么办?Top




