Dim cmd1 As New S
Dim dt1 As DataTable
cmd1.CommandText = "S ELECT DISTINCT 科目代码 From {主表}"
dt1 = cmd1.ExecuteReader()
Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1")
tv.BuildTree(dt1, "科目性质|科目代码|科目名称","","科目代码")
tv.StopRedraw
For Each nd As WinForm.TreeNode In tv.AllNodes
Select Case nd.Level
Case 0
nd.Text = nd.Text
Case 1
nd.Text = nd.text & " " & nd.DataRow("科目名称")
If nd.DataRow("科目级别") = 2 Then
nd.MoveRight()
End If
If nd.DataRow("科目级别") = 3 Then
nd.MoveRight()
nd.MoveRight()
End If
If nd.DataRow("科目级别") = 4 Then
nd.MoveRight()
nd.MoveRight()
nd.MoveRight()
End If
If nd.DataRow("科目级别") = 5 Then
nd.MoveRight()
nd.MoveRight()
nd.MoveRight()
nd.MoveRight()
End If
Case 2
nd.Delete()
Case 3
nd.Delete()
Case 4
nd.Delete()
Case 5
nd.Delete()
Case 6
nd.Delete()
End Select
Next
tv.ResumeRedraw
以上是目录树代码,因为2.3.4.5节点是在1节点通过缩进生成的,目录树生成后所有节点都是展开的,用Expand代码只展开一级科目不受控拆制,求只展开一级科目的 代码
[此贴子已经被作者于2025/2/14 14:28:50编辑过]