Foxtable(狐表)用户栏目专家坐堂 → CellButtonClick的问题


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

主题:CellButtonClick的问题

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
CellButtonClick的问题  发帖心情 Post By:2014/7/2 19:22:00 [只看该作者]

同时在表事件和全局表事件中都设置了CellButtonClick的代码:结果发现了一个现象

 

如果表事件CellButtonClick的代码中用了e.cancel = true 则全局表事件中的代码就不执行了,这种情况下有什么办法让全局表事件中CellButtonClick的代码仍然执行呢?

谢谢!

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/2 19:27:00 [只看该作者]

 表事件的CellButtonClick先于全局表事件执行。

 

 你可以用一个全局变量存储vars("cancel") = true,然后再在全局表事件决定是否执行e.Cancel = vars("cancel")

[此贴子已经被作者于2014-7-2 19:41:17编辑过]

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2014/7/2 19:39:00 [只看该作者]

如果那样可以的话,我直接在全局表事件中加一句 不就可以了, 但是不行啊,我在全局表事件中这样写:

 e.cancel = false 

MsgBox(1)

 

但只要表事件中用了e.cancel = true ,全局表事件根本就没动静了。我就是想不管表事件中怎么设置,但全局表事件也一定要执行就可以。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/2 19:41:00 [只看该作者]

 表事件不要写e.Cancel = True啊,要在全局表事件写,请认真看2楼。

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2014/7/2 19:56:00 [只看该作者]

很多表事件中都写了e.cancel = true 才能弹出其他对话框,但因表太多近百个去修改每一个表中的cellbuttonclick事件的话工作量太大了,我只是想在全局表事件cellbuttonclick中设置一个变量比如: canedit = true 而已,但现在却不能执行。甜老师,还有没有其他办法呢?在不修改表事件中的e.cancel = true的情况下。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/2 19:58:00 [只看该作者]

 不能,执行e.cancel=true以后,就不会执行全局表事件了。你必须一个个去改。

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2014/7/2 20:04:00 [只看该作者]

我就是想让每个表的表事件的cellbuttonclick执行时将全局变量canedit = true. 那还能否在其他哪个全局表事件中设置一下就可以实现呢?我在prepare中设置好象也没用。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/2 20:09:00 [只看该作者]

 没办法代替,要么你写在click事件,要么你写在beforeSelectChanged事件,要么你单独用一个按钮去做。

 

 但是无法确定你是点击了cellButtonClick啊


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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2014/7/2 21:29:00 [只看该作者]

谢谢了!但我就是想在cellbuttonclick执行时判断啊,因为全局表事件startedit中的代码对cellbuttonclick不起作用,所有想在执行cellbuttonclick时设置一个全局变量把独占式编辑的的判断转移到全局datacolchanging中去,这样效率相对好些。看来这个变量的设置真的要每个都去修改表事件啊!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/2 21:32:00 [只看该作者]

 建议你这样做吧,尽量不要在表事件写e.cancel=true,这句代码要写的话,就写在全局表事件,这样你就能灵活控制了。

 回到顶部