修改后代码: Dim t As Table = Tables("合同表")
t.GroupAboveData = True '分组行位于数据行之上
t.TreeVisible = True '显示目录树
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
g = New Subtotalgroup
g.GroupOn = "专业"
g.TotalOn = "合同额"
t.SubtotalGroups.Add(g)
g = New Subtotalgroup
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 Then
Output.Show(i & " " & r("合同编号"))
If r("合同编号") Like "####*" Then'如果是项目分组行
Dim f As String = "项目编号 = '" & r("合同编号") & "'"
Dim pro As String = DataTables("项目表").Find(f)("项目简称")
Dim v As String = pro & " 合同数量:" & t.Compute("Count(合同名称)", f)
v = v & " 合同金额:" & t.Compute("Sum(合同额)", f)
r("合同编号") = v
Else'如果是专业分组行
Dim f As String = "专业 = '" & r("合同编号") & "'"
Dim v As String = "合同数量:" & t.Compute("Count(合同名称)", f)
v = v & " 合同金额:" & t.Compute("Sum(合同额)", f)
r("合同编号") = r("合同编号") & ": " & v
End If
End If
Next
运行结果如图所示,有两个问题:
1、在项目合计行,合同金额出了两次,分别在第一列和合同额列,而专业合计行,合同额只出现了一次,在合同额列;
2、专业合计行中,合同数量统计为0

此主题相关图片如下:合计.png

[此贴子已经被作者于2022/9/1 16:29:38编辑过]