Dim trv As WinForm.TreeView = e.form.controls("TreeView1") trv.StopRedraw For Each pnd As WinForm.TreeNode In trv.allNodes If pnd.level = 1 Then '如果是表名节点 pnd.Nodes.Clear '清空原有节点 Dim tbName As String = pnd.Name Dim dr As DataRow = DataTables("表B").Find("表名 = '" & tbName & "'") If dr IsNot Nothing Then Dim Cols As String = dr("目录树列") Dim Cols_sort As String = Cols.replace("|",",") Dim nds As new List(Of WinForm.TreeNode) For i As Integer = 0 To Cols.Split("|").Length nds.Add(pnd) Next If nds.Count > 2 Then For Each arys As String() In DataTables(tbName).GetValues(Cols, "", Cols_sort) Dim flag As Boolean = False For i As Integer = 0 To arys.Length - 1 If nds(i+1).Name <> arys(i) OrElse flag Then flag = True nds(i+1) = nds(i).Nodes.Add(arys(i)) End If Next Next Else For Each arys As String In DataTables(tbName).GetValues(Cols, "", Cols_sort) nds(1) = nds(0).Nodes.Add(arys) Next End If pnd.Expand End If End If Next trv.ResumeRedraw
|