Foxtable(狐表)用户栏目专家坐堂 → 最后帖子的2段代码能解释下 为什么会有区别不同?


  共有10376人关注过本帖树形打印复制链接

主题:最后帖子的2段代码能解释下 为什么会有区别不同?

帅哥哟,离线,有人找我吗?
gaoyong30000
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
最后帖子的2段代码能解释下 为什么会有区别不同?  发帖心情 Post By:2011/8/21 15:07:00 [只看该作者]

双击打开独立窗口

 

我要实现的功能是:判断当前行是否已在窗口里被修改,如果已经被修改过,但没有保存,就禁止换行

 

由于 表属性里没有更换行之前的事件,只有更换行之后的事件,我最终把这代码放在如下 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

 

 

现在导致我双击一个记录 打开窗口 然后再关闭窗口 就出现了这个错误

  
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

 

还有我窗口里有个快速检索  点击快速检索  也会上面的错误 

 

该如何解决?


 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:内控系统16.rar

[此贴子已经被作者于2011-8-22 10:42:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
gaoyong30000
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/21 19:44:00 [只看该作者]

终于自力更生 解决了 !

 

又仔细得看了下帮助  换了这个代码就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

有区别???


 回到顶部
帅哥哟,离线,有人找我吗?
布莱克朱
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2011/8/21 19:50:00 [只看该作者]

你这个整复杂了,再想想思路和逻辑.

 回到顶部
帅哥哟,离线,有人找我吗?
gaoyong30000
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/21 19:59:00 [只看该作者]

是挺复杂的! 主要考虑到易用性和数据安全性 

 

我要是只考虑一方面 我直接设置个 模式窗口就得了

 

 

就是为了让录入员 录入的时候还可以自己点击后面的表数据换行查看 

但又不能 让这种换行后自动保存数据的情况发生!


 回到顶部
帅哥哟,离线,有人找我吗?
gaoyong30000
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/22 10:43:00 [只看该作者]

以下是引用gaoyong30000在2011-8-21 19:44:00的发言:

终于自力更生 解决了 !

 

又仔细得看了下帮助  换了这个代码就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

有区别???


 回到顶部