经过核对 在生成目录树的时候 如果把红色部分代码注释掉 点击 显示所有行 不会出现楼上错误!
麻烦老师帮忙看看 我想把所有的目录树节点都对应的统计上数据,又要能够实现目录树节点点击后加载对应的节点条件数据
目前显示所有行不能加载
其他的节点都能加载
代码如下:
Dim cmd As New S QLCo mmand
Dim dt As DataTable
cmd.Conne c ti
cmd.Com mandText = "SEL ECT DISTINCT 所属室组,工作单位,级别归属,身份性质,姓名 From {干部花名册}"
dt = cmd.ExecuteReader()
Dim tv As WinForm.TreeView
tv =e.Form.Controls("TreeView1")
tv.BuildTree(dt, "工作单位|级别归属|身份性质|姓名")
tv.Nodes.Insert("显示所有行",0)
tv.StopRedraw
For i As Integer = 0 To tv.Nodes.Count-1
If tv.Nodes(0).Text="显示所有行" Then
Dim b0 As Integer=DataTables("干部花名册_table1").sqlCompute("count(姓名)")
tv.Nodes(0).Text=tv.Nodes(0).Name & "(" & b0 & ")"
Else
Dim b As Integer=DataTables("干部花名册_table1").sqlCompute("count(姓名)","工作单位='" & tv.Nodes(i).Name & "'")
tv.Nodes(i).Text=tv.Nodes(i).Name & "(" & b & ")"
For i1 As Integer = 0 To tv.Nodes(i).Nodes.Count -1
Dim b1 As Integer=DataTables("干部花名册_table1").sqlCompute("count(姓名)","工作单位='" & tv.Nodes(i).Name & "'and 级别归属='" & tv.Nodes(i).Nodes(i1).Name & "'")
tv.Nodes(i).Nodes(i1).Text=tv.Nodes(i).Nodes(i1).Name & "(" & b1 & ")"
For i2 As Integer = 0 To tv.Nodes(i).Nodes(i1).Nodes.Count -1
Dim b2 As Integer=DataTables("干部花名册_table1").sqlCompute("count(姓名)","工作单位='" & tv.Nodes(i).Name & "'and 级别归属='" & tv.Nodes(i).Nodes(i1).Name & "'and 身份性质='" & tv.Nodes(i).Nodes(i1).Nodes(i2).Name & "'")
tv.Nodes(i).Nodes(i1).Nodes(i2).Text=tv.Nodes(i).Nodes(i1).Nodes(i2).Name & "(" & b2 & ")"
Next
Next
End If
Next
vars("分类")="按单位分类"
tv.ResumeRedraw