以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  重置全局表DataColChanged事件无效  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=148874)

--  作者:ahui010
--  发布时间:2020/4/17 11:37:00
--  重置全局表DataColChanged事件无效
我有一个表,是通过全局表事件DataColChanged来设代码的,用代码进行重置,不起作用,为什么?

DataTables("XT001测试表").DataCols("身份证号").RaiseDataColChanged()

如果单独的进行修改:身份证号列的值,是触发了DataColChanged事件?

--  作者:ahui010
--  发布时间:2020/4/17 11:46:00
--  

RaiseDataColChanged 会不会触发全局的DataColChanged事件?


--  作者:有点蓝
--  发布时间:2020/4/17 11:46:00
--  
我测试没有问题。是不是没有启用全局事件?

DataTables("XT001测试表").GlobalHandler.DataColChanged = True

--  作者:ahui010
--  发布时间:2020/4/17 12:05:00
--  
这个开关已打开了,

因为,我单独的进行修改:
身份证号列的值,看到触发了全局表的DataColChanged事件,这个表的全局表DataColChanged中相应代码的设置效果,都在变化着。
[此贴子已经被作者于2020/4/17 12:06:01编辑过]

--  作者:有点蓝
--  发布时间:2020/4/17 13:30:00
--  
上传实例说明
--  作者:ahui010
--  发布时间:2020/4/17 13:54:00
--  
我的重置列,我已经找到原因了,重置列操作时,其实是没有OldValue

因为之前的代码我加了条件:
            If e.NewValue <> OldValue
            
            \'比对修改的代码

            end if

所以重置时,每次到这个地方,就停了。
 

我现在将这个条件改成:

If e.NewValue <> ""

或者是  If e.NewValue isnot nothing

现在可以执行了。