以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]什么情况  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=76407)

--  作者:linswcfr
--  发布时间:2015/10/28 14:46:00
--  [求助]什么情况

窗口表

外部数据源

并做分页加载数据

同样加载2000条记录

没下面这条加载时间是0.6秒

有下面这条加载时间是1.4秒

差了近1秒,这个正常吗
e.Form.Controls("txtpagetotal").text = 1 & "/" & .TotalPages


--  作者:大红袍
--  发布时间:2015/10/28 14:57:00
--  

如果直接写呢?耗时多长时间?

 

e.Form.Controls("txtpagetotal").text = 1 & "/" & 10


--  作者:大红袍
--  发布时间:2015/10/28 14:58:00
--  

有可能获取的时候,重新去查询一次表格了。

 

如果不想重复查询,建议你用一个变量把总页数保存起来

 

vars("总页数") = .TotalPages


--  作者:linswcfr
--  发布时间:2015/10/28 15:04:00
--  

直接写基本上是第一种

如查采取下面这个的话

vars("总页数") = .TotalPages

要放到哪


--  作者:大红袍
--  发布时间:2015/10/28 15:06:00
--  

在afterLoad事件,获取 vars("总页数") = .TotalPages

 

以后直接用  vars("总页数")


--  作者:linswcfr
--  发布时间:2015/10/28 15:06:00
--  

 

vars("总页数") = .TotalPages

 

放在load前后,都相当于用了

e.Form.Controls("txtpagetotal").text = 1 & "/" & .TotalPages
的时间了

 

放哪呢...


--  作者:linswcfr
--  发布时间:2015/10/28 15:09:00
--  

就是afterLoad事件发点时间,其他的直接调用,

 

那还有没有加法,在afterLoad事件上节约时间的办法


--  作者:大红袍
--  发布时间:2015/10/28 15:13:00
--  

那没办法,只能这样。


--  作者:linswcfr
--  发布时间:2015/10/28 15:33:00
--  

 

下一页

With tb.datatable
   
If .LoadPage < .TotalPages - 1 Then
        .LoadPage = .LoadPage + 1
        .Load()
   
End If
End
With

还有翻页的时间为什么比afterLoad的时间长


--  作者:linswcfr
--  发布时间:2015/10/28 15:34:00
--  

啊,可能是.TotalPages引起的...