Asp.net VB。NET在树视图中添加多个子节点
我在一个数据库中有很多记录,我需要像这样动态填充我的treeview:下面只是我需要的一个示例:Asp.net VB。NET在树视图中添加多个子节点,asp.net,vb.net,treeview,child-nodes,Asp.net,Vb.net,Treeview,Child Nodes,我在一个数据库中有很多记录,我需要像这样动态填充我的treeview:下面只是我需要的一个示例: TreeView1.Nodes(a).ChildNodes.Add(New TreeNode("ChildNode " & b)) TreeView1.Nodes(a).ChildNodes(b).ChildNodes.Add(New TreeNode("ChildNode 2 lvl " & b)) 我正在从MySQL数据库获取记录,我需要
TreeView1.Nodes(a).ChildNodes.Add(New TreeNode("ChildNode " & b))
TreeView1.Nodes(a).ChildNodes(b).ChildNodes.Add(New TreeNode("ChildNode 2 lvl " & b))
我正在从MySQL数据库获取记录,我需要知道如何将多级子节点添加到循环中,以便。。。下一个等等
你有什么建议或想法吗?如果你想使用不同级别的树节点,你可以使用Find函数
Dim TempNode As TreeNode=TreeView1.Nodes.Find(“我要添加子节点的节点”,True)。FirstOrDefault
TempNode.Nodes.Add(“子节点”、“子节点”)
通过这种方式,可以将子节点添加到拾取的任何节点
.Find(“key”,True)
查找具有以下键的树节点,并。first或default
首先选择。最后,您只需将新的子节点添加到Tempnode
您认为您是从MySql动态获取它的。它可能会导致错误,如“正在从错误的线程调用此控件上执行的操作。使用Contol.Invoke或control.BeginInvoke封送到正确的线程以执行此操作。”只需将TempNode.Nodes.Add(“SubNode”,“SubNode”)
更改为TreeView1.Invoke(Sub()TempNode.Nodes.Add(“SubNode”,“SubNode”))
例如:
Dim comm As String = "SELECT * FROM YourTableName"
Dim SqlCmnd as SqlCommand = New SqlCommand(comm, YourMySqlConnection)
Dim READER As SqlDataReader
READER = SqlCmnd.ExecuteReader
While READER.Read
Dim NewNode As TreeNode = New TreeNode(READER.Item("origCategoryID"))
TreeView1.Nodes.Add(NewNode)
NewNode.Nodes.Add(READER.Item("categoryOrderID"))
End While
READER.Close()
例2:
如果您想使用不同级别的树节点,可以使用Find函数
Dim TempNode As TreeNode=TreeView1.Nodes.Find(“我要添加子节点的节点”,True)。FirstOrDefault
TempNode.Nodes.Add(“子节点”、“子节点”)
通过这种方式,可以将子节点添加到拾取的任何节点
.Find(“key”,True)
查找具有以下键的树节点,并。first或default
首先选择。最后,您只需将新的子节点添加到Tempnode
您认为您是从MySql动态获取它的。它可能会导致错误,如“正在从错误的线程调用此控件上执行的操作。使用Contol.Invoke或control.BeginInvoke封送到正确的线程以执行此操作。”只需将TempNode.Nodes.Add(“SubNode”,“SubNode”)
更改为TreeView1.Invoke(Sub()TempNode.Nodes.Add(“SubNode”,“SubNode”))
例如:
Dim comm As String = "SELECT * FROM YourTableName"
Dim SqlCmnd as SqlCommand = New SqlCommand(comm, YourMySqlConnection)
Dim READER As SqlDataReader
READER = SqlCmnd.ExecuteReader
While READER.Read
Dim NewNode As TreeNode = New TreeNode(READER.Item("origCategoryID"))
TreeView1.Nodes.Add(NewNode)
NewNode.Nodes.Add(READER.Item("categoryOrderID"))
End While
READER.Close()
例2:
谢谢你的帮助!!我能请你写下一个例子吗???我不熟悉这个组件@Ecusad您可以指定数据库的结构来编写正确的示例吗?我有3列-“OrigCategoryOrderID”“CategoryOrderID”和“CategoryName”。在第一个示例中,我保留了实际的NodeID,在第二个示例中,我保留了ChildNodeID。我将举一个例子:
Node1(origCategoryID)-ChildNode1(categoryOrderID)或Node1-Node1a(OrigCategoryOrderID)-ChildNode1a(categoryOrderID)
。。。我希望你们理解我的意思,我用Sql数据库而不是MySql写了一个例子,但事实上它是一样的。我希望你不介意。我想您知道如何使用SQL,所以我没有编写全部代码(声明SQL连接、打开等等),只是编写了主要部分。示例在编辑后的答案中,如果您需要在示例中指定某些内容或添加任何功能,请写信给我。谢谢您的帮助!!!我正在尝试在我的代码中应用您的建议,当我完成时,我会让您知道!!!!以防万一,你们能举一些关于ChildNodes的例子吗???我如何处理包含更多子级别ChildNodes的例程?感谢您的帮助!!我能请你写下一个例子吗???我不熟悉这个组件@Ecusad您可以指定数据库的结构来编写正确的示例吗?我有3列-“OrigCategoryOrderID”“CategoryOrderID”和“CategoryName”。在第一个示例中,我保留了实际的NodeID,在第二个示例中,我保留了ChildNodeID。我将举一个例子:Node1(origCategoryID)-ChildNode1(categoryOrderID)或Node1-Node1a(OrigCategoryOrderID)-ChildNode1a(categoryOrderID)
。。。我希望你们理解我的意思,我用Sql数据库而不是MySql写了一个例子,但事实上它是一样的。我希望你不介意。我想您知道如何使用SQL,所以我没有编写全部代码(声明SQL连接、打开等等),只是编写了主要部分。示例在编辑后的答案中,如果您需要在示例中指定某些内容或添加任何功能,请写信给我。谢谢您的帮助!!!我正在尝试在我的代码中应用您的建议,当我完成时,我会让您知道!!!!以防万一,你们能举一些关于ChildNodes的例子吗???如何处理具有更多子级子节点的例程??