InlineGroupTableBuilder(内联)

Foxtbale使用InlineGroupTableBuilder类对内联分级数据进行分组统计。

InlineGroupTableBuilder的属性有:

SourceTable DataTable类型,指定要统计的DataTable
ParentCol 字符型,指定父列。
ChildCol 字符型,指定子列。
IncludeParentCol 逻辑型,是否将父列添加到统计表中。
GridTree 逻辑型,统计表是否默认开启折叠模式。
ExpandTo 整数型,指定折叠树默认展开到第几级。
ShowTreeInParentCol 逻辑型,统计表的折叠树是否显示在父列。
OnlyGroupRows 逻辑型,统计表是否只保留分组行。
PreserveTo 逻辑型,指定统计统计表保留到第几级分组行。
Filter 字符型,指定统计条件。

InlineGroupTableBuilder通过AddTotal方法来增加统计列,AddTotal的语法有(最后两个语法用于添加记录数统计):

AddTotal(ColName, NewName)
AddTotal(ColName, NewName, AggregateRange)
AddTotal(ColName, NewName, AggregateRange, AggregateType)
AddTotal(True, NewName)
AddTotal(True, NewName, AggregateRange)

各参数说明:

ColName 字符型,指定要统计的数据列。
NewName 字符型,为生成的统计结果指定一个列名。
   
AggregateRange AggregateRange类型, 指定统计范围。
Self:仅统计本级数据
Sub:仅统计下级数据
Both:全部统计
默认为2.
   
AggregateType AggregateType,指定统计类型。
Sum:求和
Max:最大值
Min:最小值
Average:平均值
默认为求和


执行以下示例代码之前,请先打开CaseStudy目录下的示例文件: 分级数据.Table

示例一

选择表"销售A",在命令窗口执行下面的代码:

Dim st As new InlineGroupTableBuilder("统计表1")
st
.DataTable = DataTables("销售A")
st
.ParentCol = "上级"
st
.ChildCol = "员工"
st
.GridTree = True
st
.AddTotal(True,"订单数_本人",0)
st
.AddTotal(True,"订单数_团队")
st
.AddTotal("数量","销量_本人",0)
st
.AddTotal("数量","销量_团队")
st
.Build()
MainTable
= Tables("统计表1")

得到的统计结果为:

示例二

选择表"销售A",在命令窗口执行下面的代码:

Dim st As new InlineGroupTableBuilder("统计表1")
st
.DataTable = DataTables("销售A")
st
.ParentCol = "上级"
st
.ChildCol = "员工"
st
.GridTree = True
st
.AddTotal(True, "订单数")
st
.AddTotal("数量","销量")
st
.AddTotal("数量","单笔最大销量", 2, 1)
st
.PreserveTo = 1
st
.ExpandTo = 1
st
.Build()
MainTable
= Tables("统计表1")

得到的统计结果为:


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