Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT 产品,客户,雇员, Count([_Identify]) As 订单数 From {订单} WHERE 产品 = 'PD01' Group By 产品,客户,雇员"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "产品|客户|雇员")
trv.StopRedraw
For Each nd As WinForm.TreeNode In trv.AllNodes
Dim Value()As String
Dim Filter As String
Value = nd.FullName.Split("\") '注意这里用FullName属性,不能用FullPath属性
Select Case nd.Level
Case 0
nd.text = nd.text & "产品"
Filter = "产品 = '" & value(0) & "'"
Case 1
nd.text = nd.text & "客户"
Filter = "产品 = '" & value(0) & "' And 客户 = '" & value(1) & "'"
Case 2
Filter = "产品 = '" & value(0) & "' And 客户 = '" & value(1) & "' And 雇员 = '" & Value(2) & "'"
End Select
nd.Text = nd.text & "(" & DataTables("订单").Compute("Count([_Identify])",Filter) & "条)"
Next
trv.ResumeRedraw