Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:汇总后不需要排序

1楼
qingpuczj 发表于:2011/12/26 13:52:00

Dim t As Table = Tables("XXX公司")
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 = "{0} 小计"
t.SubtotalGroups.Add(g)

t.Subtotal()

 

按上面代码可以按部门汇总,但是会自动按部门排序,我不需要部门排序如何完成?

 

2楼
don 发表于:2011/12/26 13:56:00
http://www.foxtable.com/help/topics/1372.htm

自定义排序

在默认情况下,Subtotal方法会根据分组列进行排序,然后再生成汇总模式。
Subtotal有一个可选参数,如果将其设置为True,那么在生成汇总模式时,可以自定义排序参数,而不是根据分组列排序。
例如根据日期和客户排序,分组列为客户,统计列为数量与金额,生成汇总模式:

Dim t As Table = Tables("订单")
Dim
g As Subtotalgroup
t
.SubtotalGroups.Clear()
g = New Subtotalgroup
g
.Aggregate = AggregateEnum.Sum
g
.GroupOn = "客户"
g
.TotalOn = "数量,金额"
g
.Caption = "{0} 小计"
t
.SubtotalGroups.Add(g)
g = New Subtotalgroup
g
.Aggregate = AggregateEnum.Sum
g
.GroupOn = "*"
g
.TotalOn = "数量,金额"
g
.Caption = "总计"
t
.SubtotalGroups.Add(g)
t.Sort =
"日期,客户" '指定排序字段
t.Subtotal(
True) '生成汇总模式

3楼
qingpuczj 发表于:2011/12/27 0:40:00

t.Sort = "日期,客户" '指定排序字段
t.Subtotal(
True) '生成汇总模式

这里还是指定了日期,和客户为排序字段,我的意思是我的原始表已经按部门分类好了,但是汇总后,我希望还是按部门原来的顺序来排列,而不希望是自动排序的

 

4楼
don 发表于:2011/12/27 12:25:00
以下是引用qingpuczj在2011-12-27 0:40:00的发言:

t.Sort = "日期,客户" '指定排序字段
t.Subtotal(
True) '生成汇总模式

这里还是指定了日期,和客户为排序字段,我的意思是我的原始表已经按部门分类好了,但是汇总后,我希望还是按部门原来的顺序来排列,而不希望是自动排序的

 

那么不要指定排序,只保留:

t.Subtotal(True'生成汇总模式

共4 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03711 s, 2 queries.