试试
Dim dt As DataTable
Dim b As New SQLGroupTableBuilder("统计表1","主表")
b.Groups.AddDef("大类")
b.Groups.AddDef("小类")
b.Groups.AddDef("作用范围")
b.Totals.AddDef("大类",AggregateEnum.Count,"个数") '根据客户列来统计记录数,也就是订单数
dt = b.Build(True) '参数设置为True,生成一个临时表,不在主界面显示
'然后根据统计表生成目录树
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt,"大类|小类|作用范围")
trv.StopRedraw
For Each nd As WinForm.TreeNode In trv.AllNodes
Dim dalei As String = "'" & nd.DataRow("大类") & "'"
Dim xiaolei As String = "'" & nd.DataRow("小类") & "'"
Dim zuoyfw As String = "'" & nd.DataRow("作用范围") & "'"
Select Case nd.Level
Case 0
nd.Text = nd.text & "(" & dt.Compute("Sum(个数)","大类 = '" & dalei & "'") & "个)"
Case 1
nd.Text = nd.text & "(" & dt.Compute("Sum(个数)","大类 = '" & dalei & "' And 小类 = '" & xiaolei & "'") & "个)"
Case 2
nd.Text = nd.text & "(" & nd.DataRow("个数") & "个)"
End Select
Next
trv.Nodes.Insert("加载所有数据","加载所有数据(" & dt.Compute("Sum(个数)") & "个)",0)
trv.ResumeRedraw