以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]在汇总模式下如何对分组行进行排序?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74387)

--  作者:wyz20130512
--  发布时间:2015/9/9 22:04:00
--  [求助]在汇总模式下如何对分组行进行排序?


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150909215702.png
图片点击可在新窗口打开查看

如上图,如何对汇总的分组行进行排序(按金额列)?请老师指点?

[此贴子已经被作者于2015/9/9 22:05:23编辑过]

--  作者:大红袍
--  发布时间:2015/9/9 22:36:00
--  

 加一列排序列,取巧处理。

 

Dim t As Table = Tables("订单")
If t.Cols.Contains("总金额") = False
    t.DataTable.DataCols.Add("总金额", Gettype(Double))
End If

For Each kh As String In t.DataTable.GetValues("客户")
    t.DataTable.ReplaceFor("总金额", t.DataTable.Compute("sum(金额)", "客户 = \'" & kh & "\'"), "客户 = \'" & kh & "\'")
Next

Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = True
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "总金额"
g.TotalOn = "金额"
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
        r("产品") = t.Rows(i-1,True)("客户")
    End If
Next

t.Grid.Tree.Show(0)