限制初始加载量

在默认情况下,Foxtable会加载所有数据,如果数据量较大,这种方式显然是不恰当的。
利用现有功能,我们可以实现在打开项目的时候,不加载或者只加载部分数据,在运行的过程中,根据需要加载数据。

打开项目时控制加载数据量

对于内部表,请参考事件:BeforeLoadInnerTable
对于外部表,请参考事件:
BeforeLoadOuterTable

对于外部表,如果初始加载条件是固定的,应该在定义数据表时直接定义加载条件,而不是使用BeforeLoadOuterTable事件:


 

利用扩展用户属性设置初始加载条件

通常利用扩展用户属性,让用户在登录的时候,选择要加载的数据范围。
例如有一个订单管理系统,希望在用户登录的时候,能够指定一个日期范围,仅加载该日期范围内的订单。

首先我们得在用户管理中增加起始日期、结束日期两个扩展属性:

假定使用的是内部表,然后在BeforeLoadInnerTable事件中加入如下代码:

If e.DataTableName = "订单" Then
    e.Filter =
"[日期] >= #" & e.User.ExtendedValues("起始日期") & "# And [日期] <= #" & e.User.ExtendedValues("结束日期") & "#"
End
If

这样即可在登录的时候,由用户自行输入要加载数据的日期范围:


本页地址:http://www.foxtable.com/webhelp/topics/1268.htm