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")
得到的统计结果为: