以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗口的table控件能显示分组统计的小计和总计行吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34675)

--  作者:jacksn
--  发布时间:2013/6/12 10:50:00
--  窗口的table控件能显示分组统计的小计和总计行吗?
窗口里有个table控件,某按钮代码如下,但本应出现的小计和总计行没有显示,求解。

Dim g As New GroupTableBuilder("test001", DataTables("产生表"))

g.Caption = "公司总收入"

g.Groups.AddDef("报告出具时间", DateGroupEnum.Year, "")

g.Groups.AddDef("报告出具时间", "")

g.Totals.AddDef("实际收入")

g.VerticalTotal = True

g.SubTotal = True

g.Decimals = 0

g.Filter = "SubString(Convert([报告出具时间],\'System.String\'),1,4) > 2011"

g.Build()

MainTable = Tables("test001")

Tables("总表_table1").DataSource = datatables("test001")


试过把最后一句改为如下也不行

Tables("总表_table1").DataSource = g.build


--  作者:Bin
--  发布时间:2013/6/13 9:00:00
--  
非主流方法,事先在表控件中设置绑定的表为test001即可.
--  作者:狐狸爸爸
--  发布时间:2013/6/13 11:42:00
--  

绑定后,直接对窗口表设置汇总模式即可,这个和普通的表是一回事:

 

Dim g As New GroupTableBuilder("test001", DataTables("产生表"))
g.Caption = "公司总收入"
g.Groups.AddDef("报告出具时间", DateGroupEnum.Year, "年")
g.Groups.AddDef("报告出具时间", "月")
g.Totals.AddDef("实际收入")
g.Decimals = 0
g.Filter = "SubString(Convert([报告出具时间],\'System.String\'),1,4) > 2011"
Dim t As Table = Tables("总表_table1")
t.DataSource = g.BuildDatasource()


Dim g1 As New Subtotalgroup \'定义一个新的分组
g1.Aggregate = AggregateEnum.Sum \'统计类型为求和
g1.GroupOn = "公司总收入" \'分组列为客户列
g1.TotalOn = "数量,金额" \'对数量和金额进行统计
g1.Caption = "{0} 小计" \'设置标题
t.SubtotalGroups.Add(g1)
....
t.subtotal

 

 

 

如果设置汇总模式,参考:

http://www.foxtable.com/help/topics/1372.htm


 


--  作者:jacksn
--  发布时间:2013/6/13 17:36:00
--  
谢谢狐狸爸爸!