关于treeview 中分级加载展开"+"问题
public Function NodeLevel(ByVal n As TreeNode) As Byte
'* 找出树中当前节点的级数
Dim i As Byte = 1
'Dim m As String
Do Until n.Parent Is Nothing
n = n.Parent
i = i + 1
Loop
Return i
End Function
Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect
Dim SQLDB As New SQLDataBase(strConnect)
Dim strTable As New DataTable
Dim strProjectID As String = Split(SelectNodeID, "_")(1)
Select Case NodeLevel(e.Node).ToString
Case "1"
If e.Node.GetNodeCount(False) = 0 Then
strTable = SQLDB.ExecuteSQLToDataTable("Select * from tb_Matching_Region where Project_ID='" & strProjectID & "'")
For i As Integer = 0 To strTable.Rows.Count - 1
Dim tree_leaf As New TreeNode()
tree_leaf.Tag = strTable.Rows(i)("Matching_Region_ID").ToString()
tree_leaf.Text = strTable.Rows(i)("Matching_Name").ToString()
TreeView1.SelectedNode.Nodes.Add(tree_leaf)
Next
End If
Case "2"
If e.Node.GetNodeCount(False) = 0 Then
strTable = SQLDB.ExecuteSQLToDataTable("Select * from tb_Matching_Part where Matching_Region_ID='" & e.Node.Tag & "'")
For i As Integer = 0 To strTable.Rows.Count - 1
Dim tree_leaf As New TreeNode()
tree_leaf.Tag = strTable.Rows(i)("Matching_Part_ID").ToString()
tree_leaf.Text = strTable.Rows(i)("Part_ID").ToString()
TreeView1.SelectedNode.Nodes.Add(tree_leaf)
Next
End If
End Select
End Sub
以上属于分层加载功能,但存在一个问题,就是不显示“+”,只有单击某个节点后才能知道到底有没有下一级内容,如何自动加载子层级加号
'* 找出树中当前节点的级数
Dim i As Byte = 1
'Dim m As String
Do Until n.Parent Is Nothing
n = n.Parent
i = i + 1
Loop
Return i
End Function
Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect
Dim SQLDB As New SQLDataBase(strConnect)
Dim strTable As New DataTable
Dim strProjectID As String = Split(SelectNodeID, "_")(1)
Select Case NodeLevel(e.Node).ToString
Case "1"
If e.Node.GetNodeCount(False) = 0 Then
strTable = SQLDB.ExecuteSQLToDataTable("Select * from tb_Matching_Region where Project_ID='" & strProjectID & "'")
For i As Integer = 0 To strTable.Rows.Count - 1
Dim tree_leaf As New TreeNode()
tree_leaf.Tag = strTable.Rows(i)("Matching_Region_ID").ToString()
tree_leaf.Text = strTable.Rows(i)("Matching_Name").ToString()
TreeView1.SelectedNode.Nodes.Add(tree_leaf)
Next
End If
Case "2"
If e.Node.GetNodeCount(False) = 0 Then
strTable = SQLDB.ExecuteSQLToDataTable("Select * from tb_Matching_Part where Matching_Region_ID='" & e.Node.Tag & "'")
For i As Integer = 0 To strTable.Rows.Count - 1
Dim tree_leaf As New TreeNode()
tree_leaf.Tag = strTable.Rows(i)("Matching_Part_ID").ToString()
tree_leaf.Text = strTable.Rows(i)("Part_ID").ToString()
TreeView1.SelectedNode.Nodes.Add(tree_leaf)
Next
End If
End Select
End Sub
以上属于分层加载功能,但存在一个问题,就是不显示“+”,只有单击某个节点后才能知道到底有没有下一级内容,如何自动加载子层级加号
...全文
相关推荐
bootstrap-treeview动态加载后台数据菜单
动态加载json数据,增加点击展开功能,动态获取数据,简单修改就能使用
C#中递归算法的TreeView节点加载实战
本文还有配套的精品资源,点击获取 简介:递归算法在编程中常用于解决层次结构问题,如C#中的树形结构遍历。本文深入讲解了如何使用递归算法来加载TreeView控件中的所有子节点,包括递归的基本原理与在TreeView节点加载中的应用。提供的示例代码展示了如何递归遍历树形结构,实现节点及其子节点的加载。 1. 递归算法简介 递归算法是计算机科学领域中一种重要的算...
树形展开的C#树形菜单控件(Treeview示例)
树形展开的C#树形菜单控件(Treeview示例) 树形展开的C#树形菜单控件(Treeview示例)
WPF做的左侧展开的标签控件(类似TREEVIEW)
用WPF做的,类似TREEVIEW的导航控件。 点击某个标题的时候,自动展开下面的子项列表,同时关闭之前展开的子项列表。 要是对项目有其他好点子,欢迎讨论llyyqq123@163.com
DELPHI TreeView分级操作
TreeView的高级用法。结构最简单分级保存方法。


