此主题相关图片如下:2.jpg
我的表结构,学习的时候加载树是按产品统计的,我想把统计加载树改成按客户名称统计。上面是我设计的表样式
表名:订单。。代码如下:
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT Year(日期) As 年, Month(日期) As 月, 客户名称, Count([_Identify]) As 订单数 From {订单} Group By Year(日期), Month(日期), 客户名称"
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
Dim d1 As Date
Dim d2 As Date
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 & "(" & dt.Compute("Sum(订单数)",Filter) & "条)"
Next
trv.Nodes.Insert("加载所有行","加载所有行(" & dt.Compute("Sum(订单数)") & "条)",0)
trv.ResumeRedraw
最后运行的时候错误如下提示:
此主题相关图片如下:1.jpg
老师帮我看看哪里设置的不对啊!