Foxtable(狐表)用户栏目专家坐堂 → MainTable一词不能放在窗口AfterLoad中吗?


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

主题:MainTable一词不能放在窗口AfterLoad中吗?

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/3/24 1:18:00 [显示全部帖子]

tables("主表")

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/3/24 2:10:00 [显示全部帖子]

您都opento了,就应该知道表名了吧。

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/3/24 2:15:00 [显示全部帖子]

办法是有的:

 

MainTableChanged事件,切换表后将主表名称写入到全局变量:暂定为:Vars("主表名");

窗口的AfterLoad事件代码为:tables(Vars("主表名"))


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/3/26 12:14:00 [显示全部帖子]

既然是afteropenprojiect事件,每次打开的是第一个表,是哪个表很清楚,何必非得绕弯路!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/3/26 17:39:00 [显示全部帖子]

最简单的办法,关闭自动打开,项目属性的切换主表后执行事件判断该窗口是否打开,否,opento(独立窗口直接open即可)打开到当前表,该代码无需判断表名,则应用于所有表,这样,就不会报错了,您原来的报错原因:所用的事件为项目已经打开,datatable和窗口已经生成,但table并未生成,引用当前主表(table)当然出错!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/3/26 21:17:00 [显示全部帖子]

道理也很简单,前者指定了某某表,系统默认为该table生成后指向该表,而后者没有指定表而直接引用,而该项目事件又不能等待table都生成再执行,因为那样至少会花屏,甚则会让您的视觉看到延迟现象!

 回到顶部