以文本方式查看主题 - 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=133389) |
-- 作者:bluev -- 发布时间:2019/4/13 12:32:00 -- DataColChanged 事件,执行顺序的问题! 在DataColChanged 事件中 if e.datacol.name = A then IF E.DATAROW("B") IS NOT NULL THEN e.datarow("B") = “” 在执行到这一步时,就会跳到 第二段代码去执行 并不会执行下面的代码 E.DATAROW("B") = "AAAA" 这里要执行完第二段代码,才重新执行 end if \'第二段代码 if e.datacol.name = B then e.datarow("C") = 7777 END IF 这是为什么呢?
|
-- 作者:有点蓝 -- 发布时间:2019/4/13 13:53:00 -- 任何时候只要单元格的值改变就会触发执行这个事件。就算在事件里面赋值也是一样。 |
-- 作者:bluev -- 发布时间:2019/4/13 16:29:00 -- 有什么好的办法可以解决吗? 可以用赋值一个变量进行判断吗? if e.datacol.name = A then IF E.DATAROW("B") IS NOT NULL THEN e.datarow("B") = “” 在执行到这一步时,就会跳到 第二段代码去执行 并不会执行下面的代码 vars("B") = "B" E.DATAROW("B") = "AAAA" 这里要执行完第二段代码,才重新执行 vars("B") = "B" end if \'第二段代码 if e.datacol.name = B then IF vars("B") ="bb" e.datarow("C") = 7777 END IF vars("B") ="bb"
|
-- 作者:有点蓝 -- 发布时间:2019/4/13 16:37:00 -- 没看懂到底想要做什么 if e.datacol.name = A then IF E.DATAROW("B") IS NOT NULL THEN \'e.datarow("B") = “” 这句代码没有存在的意义去掉即可 E.DATAROW("B") = "AAAA" 这里要执行完第二段代码,才重新执行 end if \'第二段代码 if e.datacol.name = B then e.datarow("C") = 7777 END IF |