Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net VB。NET在树视图中添加多个子节点_Asp.net_Vb.net_Treeview_Child Nodes - Fatal编程技术网

Asp.net VB。NET在树视图中添加多个子节点

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数据库获取记录,我需要

我在一个数据库中有很多记录,我需要像这样动态填充我的treeview:下面只是我需要的一个示例:

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的例子吗???如何处理具有更多子级子节点的例程??