以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]关于afterload的时间测试,求解 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=37243) |
-- 作者:ifastudy -- 发布时间:2013/7/3 14:10:00 -- [求助]关于afterload的时间测试,求解 下面是afterload中的一段代码,我测试了四个时间点。#1与#2之间花了3.5秒(见附图)。我已经用 [工单编号] = \'\' 指示不载入数据了,应该很快啊。tables("生产工单")是一个父表,它有6个子表,会有影响吗? With Tables("生产工单") Functions.Execute("RecordTime","#1",False) .Filter = "[工单编号] = \'\'" .Sort="缓冲状态 DESC" Functions.Execute("RecordTime","#2",False) .SetHeaderRowHeight(20,60) .Cols("缓冲状态").AllowEdit = False .Cols("工单编号").AllowEdit = False .Cols("款色").AllowEdit = False Functions.Execute("RecordTime","#3",False) .Cols("承诺交期").AllowEdit = False .Cols("虚拟交期").AllowEdit = False .Cols("总量").AllowEdit = False Functions.Execute("RecordTime","#4",False) End With |
-- 作者:Bin -- 发布时间:2013/7/3 14:16:00 -- 1.单独测试一遍数据是不可靠的,因为运行速度会和系统空闲程度挂钩. 2.排序也是需要耗费大量操作的. 3.这没涉及到子表操作,有多少个子表没有影响.
|
-- 作者:ifastudy -- 发布时间:2013/7/3 14:22:00 -- 1.我测试把排序去掉,经过多次测试还是1.8秒左右。 2. afterload会同时触发currentchanged事件吗? 3.如果改成
datatable .loadfilter 是否意味着整个系统都要改成datatable.loadfilter. 不然其它表的数据会受到这个载入条件的影响?
[此贴子已经被作者于2013-7-3 14:22:42编辑过]
|
-- 作者:ifastudy -- 发布时间:2013/7/3 14:27:00 -- afterload不会触发其它事件。 我在命令窗口中测试的时间还是一样,看来与afterload事件和窗口都没有关系。
|
-- 作者:ifastudy -- 发布时间:2013/7/3 14:31:00 -- Tables("生产工单").Filter = "[工单编号] = \'\'" 设置这一条语句,系统到底干了什么呢?
|
-- 作者:狐狸爸爸 -- 发布时间:2013/7/3 15:55:00 -- .Filter是筛选数据,不是加载数据,可能最花时间的就是这个.Filter |
-- 作者:ifastudy -- 发布时间:2013/7/3 17:05:00 -- 如果这个窗口的载入条件改成 datatable .loadfilter=“[工单编号]”的话, 是否意味着整个系统都要改成datatable.loadfilter. 不然其它窗口要用到的对应的tables数据,也会受到这个载入条件的影响? |
-- 作者:Bin -- 发布时间:2013/7/3 17:08:00 -- Tables 只是使用当前界面可见的表. 和未加载的内容无关. |