Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
双击打开独立窗口
我要实现的功能是:判断当前行是否已在窗口里被修改,如果已经被修改过,但没有保存,就禁止换行
由于 表属性里没有更换行之前的事件,只有更换行之后的事件,我最终把这代码放在如下 beforeselrangechange里
If Tables("客户档案").Current.DataRow.RowState <> DataRowState.Unchanged Then '如果当前行已经修改过
e.Cancel = True
End If
但是我这个项目里 的窗口事件 beforceclose已经设置了
Dim tbl As Table = Tables("客户档案")
If Tables("客户档案").Current.DataRow.RowState <> DataRowState.Unchanged Then '如果当前行已经修改过
MessageBox.Show("更改的记录未保存", "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)
e.cancel = True
Else
tbl.filter = ""
End If
现在导致我双击一个记录 打开窗口 然后再关闭窗口 就出现了这个错误
还有我窗口里有个快速检索 点击快速检索 也会上面的错误
该如何解决?
下载信息 [文件大小: 下载次数: ] | |
![]() |
终于自力更生 解决了 !
又仔细得看了下帮助 换了这个代码就ok了!
Dim dt As DataTable = DataTables("客户档案")
If dt.HasChanges = True
MessageBox.Show("未保存修改数据", "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)
e.cancel = True
End If
If dt.HasChanges = True
与
If Tables("客户档案").Current.DataRow.RowState <> DataRowState.Unchanged
有区别???
是挺复杂的! 主要考虑到易用性和数据安全性
我要是只考虑一方面 我直接设置个 模式窗口就得了
就是为了让录入员 录入的时候还可以自己点击后面的表数据换行查看
但又不能 让这种换行后自动保存数据的情况发生!
终于自力更生 解决了 !
又仔细得看了下帮助 换了这个代码就ok了!
Dim dt As DataTable = DataTables("客户档案")
If dt.HasChanges = True
MessageBox.Show("未保存修改数据", "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)
e.cancel = True
End If
If dt.HasChanges = True
与
If Tables("客户档案").Current.DataRow.RowState <> DataRowState.Unchanged
有区别???