以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]请教高手一个问题,为什么在保存之前判断不起作用呢?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=31738)

--  作者:智友软件工作室
--  发布时间:2013/4/19 16:33:00
--  [求助]请教高手一个问题,为什么在保存之前判断不起作用呢?
在表“维修工单” 表属性 事件 BeforeSaveDataRow中加入如下代码:
If e.DataRow("客户地址") = "测试" Then
    MessageBox.Show("测试不能作为客户地址!","存盘失败",MessageBoxButtons.OK,MessageBoxIcon.Exclamation) \'提示用户
    e.Cancel =
True \'取消存盘
End
If
当在客户地址中输入“测试”,点击保存的时候,为什么不取消保存。反而系统直接进行保存了呢?
保持按钮的代码如下:Tables("维修工单").Current.Save()


上述保存方式是不是没有触发事件??


--  作者:lsy
--  发布时间:2013/4/19 16:38:00
--  
在保存按钮里面判断,比较方便准确,不符合条件就Return
--  作者:智友软件工作室
--  发布时间:2013/4/19 17:54:00
--  
这我知道,现在的问题是保存行有很多按钮,如果每一个都设置岂不是很复杂,不知上述问题如何解决
--  作者:Bin
--  发布时间:2013/4/19 17:56:00
--  
以下是引用智友软件工作室在2013-4-19 17:54:00的发言:
这我知道,现在的问题是保存行有很多按钮,如果每一个都设置岂不是很复杂,不知上述问题如何解决

全局事件中判断不就简化很多了?
--  作者:智友软件工作室
--  发布时间:2013/4/19 17:58:00
--  
我想知道这里为什么不可以,是不是bug
--  作者:Bin
--  发布时间:2013/4/19 17:59:00
--  
以下是引用智友软件工作室在2013-4-19 17:58:00的发言:
我想知道这里为什么不可以,是不是bug

有弹出提示框吗? 还是连提示框都不弹出?
--  作者:智友软件工作室
--  发布时间:2013/4/19 18:02:00
--  
连框都不弹直接就保存了,呵呵
--  作者:rjh4078
--  发布时间:2013/4/19 18:19:00
--  

你把这个判断放到 datacolchanging 里面去不是更好  另外一个 你把 tables().current.save 改成 datatables.save试试 current虽然好用 有时候不小心就去别的行了

[此贴子已经被作者于2013-4-19 18:20:08编辑过]

--  作者:jijianjsj
--  发布时间:2013/4/19 18:56:00
--  
按你的这个思路和方法,测试了,没有问题啊,可以提示并且不保存的,你最好上传项目文件看一下~!