以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  汇总模式  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=78761)

--  作者:xiaohuli
--  发布时间:2015/12/16 15:29:00
--  汇总模式

我将查询到的数据表进行交叉统计后,然后在进行汇总模式统计,请问这个怎么实现?本人写的代码如下,但是代码有误,请老师帮忙看看。

   Dim q As new QueryBuilder
    q.C
    q.TableName = "统计表"

  q.SelectString = ""

 q.Build()

 

  Dim g As New GroupTableBuilder("统计表", DataTables("统计表"))
 
    g.Groups.AddDef("区域")
    g.Groups.AddDef("大区")
    g.Groups.AddDef("类别")
    g.Groups.AddDef("产品名称")
    g.Totals.AddDef("件数")
    g.Totals.AddDef("销售金额")
    g.VerticalTotal = True
    g.GrandProportion = True
    g.Build()

 Dim t As Table = Tables("统计表")
    Dim g1 As Subtotalgroup
    t.SubtotalGroups.Clear()
    t.GroupAboveData = False
    t.TreeVisible = True
    t.SpillNode = True
   
    g1 = New Subtotalgroup
    g1.Aggregate = AggregateEnum.Sum
    g1.GroupOn = "大区"
    g1.TotalOn = "件数,销售金额"
    g1.Caption = "{0} 小计"
    t.SubtotalGroups.Add(g1)
   
    g1 = New Subtotalgroup
    g1.Aggregate = AggregateEnum.Sum
    g1.GroupOn = "区域"
    g1.TotalOn = "件数,销售金额"
    g1.Caption = "{0} 小计"
    t.SubtotalGroups.Add(g1)

   
    forms("窗口1").open
    Tables("窗口1_Table1").DataSource = g1.BuildDataSource()
    Tables("窗口1_table1").Font = New Font("宋体",10,FontStyle.Bold)
    Tables("窗口1_table1").Sort = "件数 DESC"



--  作者:大红袍
--  发布时间:2015/12/16 15:45:00
--  

Tables("窗口1_Table1").DataSource = g1.BuildDataSource()

 

改成

 

Tables("窗口1_Table1").DataSource = DataTables("统计表")


--  作者:大红袍
--  发布时间:2015/12/16 15:48:00
--  

或者这样写

 

Dim g As New GroupTableBuilder("统计表", DataTables("统计表"))

g.Groups.AddDef("区域")
g.Groups.AddDef("大区")
g.Groups.AddDef("类别")
g.Groups.AddDef("产品名称")
g.Totals.AddDef("件数")
g.Totals.AddDef("销售金额")
g.VerticalTotal = True
g.GrandProportion = True

forms("窗口1").open
Tables("窗口1_Table1").DataSource = g.BuildDataSource()

Dim t As Table = Tables("窗口1_Table1")
Dim g1 As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = True
t.SpillNode = True

g1 = New Subtotalgroup
g1.Aggregate = AggregateEnum.Sum
g1.GroupOn = "大区"
g1.TotalOn = "件数,销售金额"
g1.Caption = "{0} 小计"
t.SubtotalGroups.Add(g1)

g1 = New Subtotalgroup
g1.Aggregate = AggregateEnum.Sum
g1.GroupOn = "区域"
g1.TotalOn = "件数,销售金额"
g1.Caption = "{0} 小计"
t.SubtotalGroups.Add(g1)


Tables("窗口1_table1").Font = New Font("宋体",10,FontStyle.Bold)
Tables("窗口1_table1").Sort = "件数 DESC"


--  作者:xiaohuli
--  发布时间:2015/12/16 16:06:00
--  
老师,你的这段代码还是不行,查询出来的数据还是交叉统计的数据,根本就没有汇总,也没有出现目录树。
--  作者:大红袍
--  发布时间:2015/12/16 16:10:00
--  
不可能,上传实例。