Foxtable(狐表)用户栏目专家坐堂 → 汇总后不需要排序


  共有9698人关注过本帖树形打印复制链接

主题:汇总后不需要排序

帅哥哟,离线,有人找我吗?
qingpuczj
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:259 威望:0 精华:0 注册:2011/11/11 1:41:00
汇总后不需要排序  发帖心情 Post By: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()

 

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
don
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By: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) '生成汇总模式


 回到顶部
帅哥哟,离线,有人找我吗?
qingpuczj
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:259 威望:0 精华:0 注册:2011/11/11 1:41:00
  发帖心情 Post By:2011/12/27 0:40:00 [只看该作者]

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

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
don
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2011/12/27 12:25:00 [只看该作者]

以下是引用qingpuczj在2011-12-27 0:40:00的发言:

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

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

 

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

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


 回到顶部