Foxtable(狐表)用户栏目专家坐堂 → DataColChanged 事件,执行顺序的问题!


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

主题:DataColChanged 事件,执行顺序的问题!

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


加好友 发短信
等级:幼狐 帖子:112 积分:1584 威望:0 精华:0 注册:2008/11/3 7:25:00
DataColChanged 事件,执行顺序的问题!  发帖心情 Post By:2019/4/13 12:32:00 [只看该作者]

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

这是为什么呢?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107756 积分:548119 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/13 13:53:00 [只看该作者]

任何时候只要单元格的值改变就会触发执行这个事件。就算在事件里面赋值也是一样。



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


加好友 发短信
等级:幼狐 帖子:112 积分:1584 威望:0 精华:0 注册:2008/11/3 7:25:00
  发帖心情 Post By: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"

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107756 积分:548119 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部