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


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

主题:汇总排序

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


加好友 发短信
等级:婴狐 帖子:27 积分:245 威望:0 精华:0 注册:2018/7/30 10:53:00
汇总排序  发帖心情 Post By:2018/7/30 16:44:00 [只看该作者]

Dim t As Table = Tables("超期")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "分公司"
g.Caption = "{0}"
t.SubtotalGroups.Add(g)
t.Subtotal()
Dim r As Row
For i As Integer = 0 To t.Rows.Count(True) - 1
    r = t.Rows(i,True)
    If r.IsGroup '如果是分组行
        Dim f As String = "分公司 = '" & r("分公司") & "'"
        Dim v As String = " 已回款金额:" & format(t.Compute("sum(已回款金额)*-1",f),"#,###")        
        v = v & " 超期余额:" & format(t.Compute("sum(超期余额)",f),"#,###") 
        v = v & " 坏账金额:" & format(t.Compute("sum(记账_180天以上)",f),"#,###") 
        r("分公司") = "分公司:" & r("分公司") & v
    End If
Next


这段代码里面有排序吗,为什么汇总后行顺序会改变
[此贴子已经被作者于2018/7/30 16:59:43编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/30 17:39:00 [只看该作者]

分组汇总的时候,是根据你分组的列【分公司】排序的。


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


加好友 发短信
等级:婴狐 帖子:27 积分:245 威望:0 精华:0 注册:2018/7/30 10:53:00
  发帖心情 Post By:2018/7/30 17:52:00 [只看该作者]

那都是同一个分公司,顺序怎么会变呢,怎么才能顺序不变呢

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/30 18:24:00 [只看该作者]

以下是引用piao风在2018/7/30 17:52:00的发言:
那都是同一个分公司,顺序怎么会变呢,怎么才能顺序不变呢

 

做一个例子发上来测试一下。


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


加好友 发短信
等级:婴狐 帖子:27 积分:245 威望:0 精华:0 注册:2018/7/30 10:53:00
汇总排序  发帖心情 Post By:2018/7/31 14:12:00 [只看该作者]

附件是汇总前后对比图片,本来想上传测试数据的,但是不知道为什么上传不了压缩包

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/31 14:19:00 [只看该作者]

图片也看不到,请正确上传图片或者项目

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78

 

 

 


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


加好友 发短信
等级:婴狐 帖子:27 积分:245 威望:0 精华:0 注册:2018/7/30 10:53:00
  发帖心情 Post By:2018/7/31 15:11:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建 microsoft excel 工作表.xlsx

这是图片

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


加好友 发短信
等级:超级版主 帖子:109678 积分:558082 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/7/31 15:29:00 [只看该作者]

可以重新设置自定义排序列:http://www.foxtable.com/webhelp/scr/1372.htm
[此贴子已经被作者于2018/7/31 16:41:22编辑过]

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


加好友 发短信
等级:婴狐 帖子:27 积分:245 威望:0 精华:0 注册:2018/7/30 10:53:00
  发帖心情 Post By:2018/7/31 15:51:00 [只看该作者]

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

 

这是自定义排序,我需要的是不改变原来顺序的汇总,因为我原来的顺序是没有什么规则的,纯粹是为了查看方便自己手动排序的,我不想汇总改变我的顺序

 

https://pan.baidu.com/s/14qGJWWH9C2ND5Ywue_NlnA

这是存在网盘的测试项目

[此贴子已经被作者于2018/7/31 15:53:14编辑过]

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


加好友 发短信
等级:超级版主 帖子:109678 积分:558082 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/7/31 16:45:00 [只看该作者]

测试了一下,没有办法保证原先的顺序。因为首先汇总就必须要根据汇总列排序,而排序是由数据库的存储索引决定的,没有办法控制。

 回到顶部
总数 20 1 2 下一页