以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- CellButtonClick的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=53227) |
-- 作者:scott518 -- 发布时间:2014/7/2 19:22:00 -- CellButtonClick的问题 同时在表事件和全局表事件中都设置了CellButtonClick的代码:结果发现了一个现象
如果表事件CellButtonClick的代码中用了e.cancel = true 则全局表事件中的代码就不执行了,这种情况下有什么办法让全局表事件中CellButtonClick的代码仍然执行呢? 谢谢!
|
-- 作者:有点甜 -- 发布时间:2014/7/2 19:27:00 -- 表事件的CellButtonClick先于全局表事件执行。
你可以用一个全局变量存储vars("cancel") = true,然后再在全局表事件决定是否执行e.Cancel = vars("cancel") [此贴子已经被作者于2014-7-2 19:41:17编辑过]
|
-- 作者:scott518 -- 发布时间:2014/7/2 19:39:00 -- 如果那样可以的话,我直接在全局表事件中加一句 不就可以了, 但是不行啊,我在全局表事件中这样写: e.cancel = false MsgBox(1)
但只要表事件中用了e.cancel = true ,全局表事件根本就没动静了。我就是想不管表事件中怎么设置,但全局表事件也一定要执行就可以。 |
-- 作者:有点甜 -- 发布时间:2014/7/2 19:41:00 -- 表事件不要写e.Cancel = True啊,要在全局表事件写,请认真看2楼。 |
-- 作者:scott518 -- 发布时间:2014/7/2 19:56:00 -- 很多表事件中都写了e.cancel = true 才能弹出其他对话框,但因表太多近百个去修改每一个表中的cellbuttonclick事件的话工作量太大了,我只是想在全局表事件cellbuttonclick中设置一个变量比如: canedit = true 而已,但现在却不能执行。甜老师,还有没有其他办法呢?在不修改表事件中的e.cancel = true的情况下。 |
-- 作者:有点甜 -- 发布时间:2014/7/2 19:58:00 -- 不能,执行e.cancel=true以后,就不会执行全局表事件了。你必须一个个去改。 |
-- 作者:scott518 -- 发布时间:2014/7/2 20:04:00 -- 我就是想让每个表的表事件的cellbuttonclick执行时将全局变量canedit = true. 那还能否在其他哪个全局表事件中设置一下就可以实现呢?我在prepare中设置好象也没用。 |
-- 作者:有点甜 -- 发布时间:2014/7/2 20:09:00 -- 没办法代替,要么你写在click事件,要么你写在beforeSelectChanged事件,要么你单独用一个按钮去做。
但是无法确定你是点击了cellButtonClick啊 |
-- 作者:scott518 -- 发布时间:2014/7/2 21:29:00 -- 谢谢了!但我就是想在cellbuttonclick执行时判断啊,因为全局表事件startedit中的代码对cellbuttonclick不起作用,所有想在执行cellbuttonclick时设置一个全局变量把独占式编辑的的判断转移到全局datacolchanging中去,这样效率相对好些。看来这个变量的设置真的要每个都去修改表事件啊! |
-- 作者:有点甜 -- 发布时间:2014/7/2 21:32:00 -- 建议你这样做吧,尽量不要在表事件写e.cancel=true,这句代码要写的话,就写在全局表事件,这样你就能灵活控制了。 |