以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- currenttablechanged事件的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=51903) |
-- 作者:rjh4078 -- 发布时间:2014/6/5 12:22:00 -- currenttablechanged事件的问题 Dim r As Row=Tables("系统日志").addnew
为什么这段代码在currenttablechangde事件中会被执行2次? |
-- 作者:有点甜 -- 发布时间:2014/6/5 14:31:00 -- 改成这样
Dim dr As DataRow = DataTables("系统日志").addnew |
-- 作者:rjh4078 -- 发布时间:2014/6/6 0:53:00 -- 以下是引用有点甜在2014-6-5 14:31:00的发言:
改成这样
Dim dr As DataRow = DataTables("系统日志").addnew 甜老师 按照你这方法也是不行的 还是会触发2次
此主题相关图片如下:qq截图20140606005237.png |
-- 作者:逛逛 -- 发布时间:2014/6/6 7:53:00 -- 帮助
CurrentTableChanged
选择不同表后执行,也就是CurrentTable发生变化后执行。 如果我们选择不同的主表,会先后触发MainTableChanged和CurrentTableChanged事件,因为此时MainTable和CurrentTable都发生了变化。
http://www.foxtable.com/help/topics/0664.htm
还是将代码换到 MainTableChanged 事件中去吧 |
-- 作者:有点甜 -- 发布时间:2014/6/6 9:14:00 -- 用一个变量,存储上次的表名,做个判断。
static preTableName As String = ""
If preTableName = CurrentTable.name Then Return
preTableName = CurrentTable.name Dim dr As DataRow = DataTables("系统日志").addnew |
-- 作者:rjh4078 -- 发布时间:2014/6/6 9:23:00 -- 逛老师 因为我用的都是窗口来交互的 maintable是不变的 只能用甜老师的方案 谢谢几位 |