DataSource属性

Table有一个DataSource属性,可以通过此属性动态设置其绑定的表。

除了非副本的Normal类型Table,其它类型都可以在运行过程中动态绑定到指定的表。

例如:

Tables("窗口1_Table1").DataSource = DataTables("订单")

执行上述代码后,不管原来的Table是何种类型(非副本的Normal类型Table除外),都将成为订单表的一个副本。

我们知道Foxtable是通过以下类型生成统计表或临时表的:

GroupTableBuilder
CrossTableBuilder
SQLGroupTableBuilder
SQLCrossTableBuilder
SQLJoinTableBuilder
DataTableBuilder
InlineMRPBuilder
LayersMRPBuilder
InlineGroupTableBuilder
LayersGroupTableBuilder

这些类型都有一个BuildDataSource方法,可以生成一个对象,此对象可以直接绑定到SQLTable和SQLQuery类型的Table,以及副本型的Table。
例如将某按钮的Click事件代码设为:

Dim b As New GroupTableBuilder("统计表1",DataTables("订单"))
b.Groups.AddDef("日期","月份")
b.Totals.AddDef("数量")
Tables
("窗口1_Table1").DataSource = b.BuildDataSource()

那么单击此按钮,窗口中的Table1将显示各月销售数量。

提示:

1、上面的代码中生成的统计表的名称并非"统计表1",而是"窗口1_Table1",也就是说GroupTableBuilder指定的表名是无效的,切记切记。
2、如果某Table控件计划绑定到BuildDataSource方法生成的对象,那么在设计窗口的时候,其类型最好设置为SQLQuery或SQLTable,这样此Table控件就拥有所有的表事件,便于进行精细设计。


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