以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 全局表事件启动开关的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=26568) |
-- 作者:zharen110 -- 发布时间:2012/12/8 7:46:00 -- 全局表事件启动开关的问题 我想在窗口中动态加载一个sqlquery表,只有当窗口被打开的时候才会加载,项目启动时不会自动打开窗口, Dim tbl As WinForm.Table tbl = e.Form.CreateSQLQuery("Table1", "select * from ddb","sss") tbl.SetBounds(10, 10, 600, 400) e.Form.AddControl(tbl) 经测试表能成功创建 在全局表DrawCell事件中写入代码,
然后在项目事件Initialize加入代码:
这样会报错表不存在之类的错误 请教各位高人怎么实现 [此贴子已经被作者于2012-12-8 7:48:18编辑过]
|
-- 作者:lin_hailun -- 发布时间:2012/12/8 8:47:00 -- 报错是因为这个窗口没有打开自然这张表就不存在。 动态加载有好几种方法,不一定要动态创建表控件的。 你可以先创建好这个表控件,写好相应的事件,然后在打开窗口的时候动态加载内容。 http://www.foxtable.com/help/topics/1933.htm |
-- 作者:zharen110 -- 发布时间:2012/12/8 9:16:00 -- 我之前项目都是这样干的,而且打开窗口的时候不加载任何数据,即使这样项目启动速度任然很慢,所有才来研究动态加载表 个人感觉CurrentChanged事件最耗启动时间,如果有10张表以上都写了CurrentChanged事件代码,那没有15秒普通配置的电脑根本启动不了
|
-- 作者:lin_hailun -- 发布时间:2012/12/8 9:35:00 -- 嗯嗯,项目启动的时候,默认会执行currentChanged事件。最好是把这个代码放到positionchanged事件里去。 明白了……那你在窗口打开的时候再添加这句代码。 datatable("窗口1_table1").GlobalHandler.DrawCell = True |
-- 作者:zharen110 -- 发布时间:2012/12/8 9:56:00 -- 好的 谢谢哈 |