追载新数据
Load方法在执行的时候,会清除已经加载的行,然后重新加载行,加载条件由LoadFilter属性指定。
有的时候并不希望清除已经加载的行,只是希望从后台找出符合条件的行,追加到当前表中,我们称之为追载。
用于追载的方法是AppendLoad。
语法:
AppendLoad(Filter,Save)
Filter:字符型,用于设置追载条件,采用的是SQL语法,和常规表达式的语法有所不同,请参考:SQL表达式的语法差异。
Save: 可选参数,逻辑型,是否在追载数据前先保存现有数据,默认为True,既先保存后追载。
AppendLoad会返回一个集合,包含所有追载的行(DataRow)。
需要注意的是:
1、必须确保即将追载的行,并不存在于表中,也就是这些行之前并未加载,否则将报错。
2、AppendLoad适合追载少量数据,大量数据一般用Load重新加载。
示例
假定甲、乙两个用户同时编辑表A,甲负责增加行,并输入部分列的数据,乙负责输入其它列的数据。
我们需要为乙用户设计一个按钮,用于将打开项目以来,甲用户新增加的行追载到表中,按钮的代码为:
Dim
id As Integer = DataTables("表A").Compute("Max(_Identify)")上述代码先计算出表A中"_Identify"列的最大值,然后从后台追载"_Identify"列的值大于此最大值的行,这些行就是甲用户新增加的行。
提示:
1、甲用户新增行并输入数据后,必须保存,乙用户才可追载此新增加的行,这是因为AppendLoad是从后台追载的,如果新增行没有保存,后台就不存在此行,
乙用户也就谈不上追载了。
2、AppendLoad的作用远不止于追载新增数据,在设计一些数据自动流转的项目,例如工作流时,AppendLoad方法是关键。