Foxtable(狐表)用户栏目专家坐堂 → [求助]先打开窗口再加载数据


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

主题:[求助]先打开窗口再加载数据

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


加好友 发短信
等级:九尾狐 帖子:2191 积分:18001 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]先打开窗口再加载数据  发帖心情 Post By:2018/6/22 18:32:00 [只看该作者]

设计了一个弹出窗口,在afterload事件中写了一些加载数据的代码。
当这些代码耗时较长的时候,点了弹窗按钮,它总是要等数据加载事件执行完以后,窗口才弹出来。

有什么办法,可以让窗口先显示出来,然后再加载数据?要不然,用户会以为死机了。

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


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/22 20:31:00 [只看该作者]

把加载数据的代码放到timetick事件


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


加好友 发短信
等级:九尾狐 帖子:2191 积分:18001 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/23 9:20:00 [只看该作者]

实际场景
在表属性的click事件中,加入了代码
if e.col.name = "A" then 
   forms("X").open
end if 
这样,在表中单元格点击的时候,会弹出窗口X

在窗口X的 afterload事件中,有加载数据的代码(实际测试,在数据量小的时候,不到2秒;数据量大的时候,要约7秒)

按你的意见把数据加载事件放到timertick中
1、如果把窗口X的属性中,计时器的启用设为false,时间设为1000;那么窗口打开之后,不会加载数据
2、如果把窗口X的属性中,计时器的启用设为true,时间设为1000;那么窗口打开之后,每隔1000,都会自动加载一次数据(但是我只需要加载一次呀
[此贴子已经被作者于2018/6/23 9:20:19编辑过]

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


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/23 10:30:00 [只看该作者]

timertick事件

e.form.TimerEnabled= false
原来的加载代码

 回到顶部