Dim g1 As New GroupTableBuilder("统计表1", DataTables("一级订单明细表"))
Dim dt1 As fxDataSource
g1.Groups.AddDef("产品名称")
g1.Totals.AddDef("数量","一级数量")
g1.Totals.AddDef("金额","一级金额")
dt1 = g1.BuildDataSource()
Dim g2 As New GroupTableBuilder("统计表1", DataTables("二级订单明细表"))
Dim dt2 As fxDataSource
g2.Groups.AddDef("产品名称")
g2.Totals.AddDef("数量","二级数量")
g2.Totals.AddDef("金额","二级金额")
dt2 = g2.BuildDataSource()
Dim g3 As New GroupTableBuilder("统计表1", DataTables("三级订单明细表"))
Dim dt3 As fxDataSource
g3.Groups.AddDef("产品名称")
g3.Totals.AddDef("数量","三级数量")
g3.Totals.AddDef("金额","三级金额")
dt3 = g3.BuildDataSource()
dt1.Combine("产品名称",dt2,"产品名称") '将销售统计数据组合到进货统计数据
dt1.Combine("产品名称",dt3,"产品名称") '将退货统计数据组合到进货统计数据
dt1.show("统计表")
With DataTables("统计表").DataCols '用表达式列计算库存数据
.Add("销售数量",Gettype(Integer),"IsNull([一级数量],0) + ISNULL([二级数量],0) + ISNULL([三级数量],0)")
.Add("销售金额",Gettype(Double),"IsNull([一级金额],0) + ISNULL([二级金额],0) + ISNULL([三级金额],0)")
End With
Dim t As Table = Tables("统计表")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "一级数量,一级金额,二级数量,二级金额,三级数量,三级金额,销售数量,销售金额"
g.Caption = "总计"
t.SubtotalGroups.Add(g)
t.Subtotal()