以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- [求助]关于事件触发执行的疑问? (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=151579) |
-- 作者:晨曦396 -- 发布时间:2020/6/28 16:30:00 -- [求助]关于事件触发执行的疑问? 当一个按钮执行触发一个表的DataColChanging事件的时候 E1xdzt 为全局变量 按钮的代码为: Dim tbl As Table = Tables("表a") If tbl.Current.IsNull("usercode") = False Then E1xdzt = "TRUE" tbl.Current(\'usercode\') = "001" E1xdzt = "" End If DataColChanging事件的代码 If E1xdzt <> "TRUE" Then \'不为true则清空除usercode的列 For Each cl As DataCol In e.DataTable.DataCols Select cl.name Case "usercode" Case Else e.DataRow(cl.Name) = Nothing End Select Next End If 1 问题为 当按钮运行到tbl.Current(\'usercode\') = "001" 这一句时, userode列触发DataColChanging,按钮剩余的代码和事件里的代码是同时运行的吗,还是需要等到事件的代码执行完成后再继续执行按钮剩余的代码 ,假如同时执行,是不是有可能按钮E1xdzt = "" 执行后,事件的代码才判断E1xdzt的值(此处希望不要触发事件,所以将E1xdzt 设置为true),相当于事件判断时E1xdzt可能出现两种结果 |
-- 作者:有点蓝 -- 发布时间:2020/6/28 16:43:00 -- 需要等到事件的代码执行完成后再继续执行按钮剩余的代码 |