分页加载示例
本节的例子可以参考CaseStudy目录下的文件:分页加载.Table。
假定要求订单表分页加载,每页20行,提供第一页、上一页、下一页、最末页等加载按钮:
1、首先要确保默认不加载任何数据。
如果是内部表,设置项目事件BeforeLoadInnerTable的代码为:
If
e.DataTableName = "订单"
Then
e.Filter =
"[_Identify] Is Null"
End
If
如果是外部表,可以在定义外部表的时候,直接定义加载条件:
2、然后在项目事件AfterOpenProject中设置代码,使得打开项目后,自动加载第一页:
With
DataTables("订单")提示:由于已经在第一步设置了加载条件"[_Identify] Is Null",所以必须在AfterOpenProject事件 中清除此条件,否则不会加载任何数据 。
3、最后设计一个下图所示的加载窗口:
各按钮的代码如下:
按钮 | 代码 |
第一页 | With
DataTables("订单") If .LoadPage <> 0 Then .LoadTop = 20 .LoadPage = 0 .Load() End If End With |
下一页 | With
DataTables("订单") If .LoadPage < .TotalPages - 1 Then .LoadPage = .LoadPage + 1 .Load() End If End With |
上一页 | With
DataTables("订单") If .LoadPage > 0 Then .LoadPage = .LoadPage - 1 .Load() End If End With |
最末页 | With
DataTables("订单") If .LoadPage < .TotalPages - 1 Then .LoadPage = .TotalPages - 1 .Load() End If End With |
提示:
上面的例子讲述了如何针对常规的表实现分页加载,本节的示例文件其实还有一个名为“窗口2”的窗口,用于演示如何针对SQLTable实现分页加载,由于本质上和上面的 例子没有什么差别,就不再重复讲述了,大家有兴趣的话可以自己看看。