以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 汇总排序 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122656) |
||||
-- 作者:票风 -- 发布时间: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编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/7/30 17:39:00 -- 分组汇总的时候,是根据你分组的列【分公司】排序的。 |
||||
-- 作者:票风 -- 发布时间:2018/7/30 17:52:00 -- 那都是同一个分公司,顺序怎么会变呢,怎么才能顺序不变呢 |
||||
-- 作者:有点甜 -- 发布时间:2018/7/30 18:24:00 -- 以下是引用票风在2018/7/30 17:52:00的发言:
那都是同一个分公司,顺序怎么会变呢,怎么才能顺序不变呢
做一个例子发上来测试一下。 |
||||
-- 作者:票风 -- 发布时间:2018/7/31 14:12:00 -- 汇总排序 附件是汇总前后对比图片,本来想上传测试数据的,但是不知道为什么上传不了压缩包 |
||||
-- 作者:有点甜 -- 发布时间:2018/7/31 14:19:00 -- 图片也看不到,请正确上传图片或者项目
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78
|
||||
-- 作者:票风 -- 发布时间:2018/7/31 15:11:00 --
这是图片 |
||||
-- 作者:有点蓝 -- 发布时间:2018/7/31 15:29:00 -- 可以重新设置自定义排序列:http://www.foxtable.com/webhelp/scr/1372.htm
[此贴子已经被作者于2018/7/31 16:41:22编辑过]
|
||||
-- 作者:票风 -- 发布时间:2018/7/31 15:51:00 -- 在默认情况下,Subtotal方法会根据分组列进行排序,然后再生成汇总模式。
这是自定义排序,我需要的是不改变原来顺序的汇总,因为我原来的顺序是没有什么规则的,纯粹是为了查看方便自己手动排序的,我不想汇总改变我的顺序
https://pan.baidu.com/s/14qGJWWH9C2ND5Ywue_NlnA 这是存在网盘的测试项目 [此贴子已经被作者于2018/7/31 15:53:14编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2018/7/31 16:45:00 -- 测试了一下,没有办法保证原先的顺序。因为首先汇总就必须要根据汇总列排序,而排序是由数据库的存储索引决定的,没有办法控制。 |