以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]先打开窗口再加载数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=120749)

--  作者:chnfo
--  发布时间:2018/6/22 18:32:00
--  [求助]先打开窗口再加载数据
设计了一个弹出窗口,在afterload事件中写了一些加载数据的代码。
当这些代码耗时较长的时候,点了弹窗按钮,它总是要等数据加载事件执行完以后,窗口才弹出来。

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

--  作者:有点蓝
--  发布时间:2018/6/22 20:31:00
--  
把加载数据的代码放到timetick事件


--  作者:chnfo
--  发布时间: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编辑过]

--  作者:有点蓝
--  发布时间:2018/6/23 10:30:00
--  
timertick事件

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