Asp.net Treeview-Treenode-VB.Net-不显示节点
我正在尝试将数据表中的节点添加到树视图中。我的问题不是添加节点,而是显示它们。我的循环遍历并添加每个节点。我有一个文本框,可以正确显示节点总数。然而,树视图什么也不显示。我是不是少了一些陈列品 谢谢你的帮助Asp.net Treeview-Treenode-VB.Net-不显示节点,asp.net,vb.net,datatable,treeview,Asp.net,Vb.net,Datatable,Treeview,我正在尝试将数据表中的节点添加到树视图中。我的问题不是添加节点,而是显示它们。我的循环遍历并添加每个节点。我有一个文本框,可以正确显示节点总数。然而,树视图什么也不显示。我是不是少了一些陈列品 谢谢你的帮助 oldComments.DataBind() Dim count As Integer = 0 Dim TreeView1 As TreeView = New TreeView ' TreeView1.FindNode("My Node").ChildNode
oldComments.DataBind()
Dim count As Integer = 0
Dim TreeView1 As TreeView = New TreeView
' TreeView1.FindNode("My Node").ChildNodes().Add(New TreeNode("Test This"))
For Each row As DataRow In dsData.Rows
Dim node As TreeNode = New TreeNode(row("UpdateTimeStamp").ToString)
Dim node2 As TreeNode = New TreeNode((count.ToString + " - Count"), "test")
TreeView1.Nodes.Add(node2)
TreeView1.Nodes.Add(node)
TreeView1.Nodes(0).ChildNodes().Add(node)
Next
TreeView1.ExpandAll()
status.Text = TreeView1.Nodes.Count
然后ASP:
<asp:TreeView ID="TreeView1" runat="server">
<Nodes>
<asp:TreeNode Text="My Node" Value="My Node"></asp:TreeNode>
</Nodes>
</asp:TreeView>
我添加了一个节点来查看它的显示位置/尝试使用find控件添加一个新的子节点,但没有成功。建议
谢谢。我认为问题在于您将所有节点添加到了错误的
树视图
您已经在标记中将TreeView
声明为“TreeView1”。所以这一行:
Dim TreeView1 As TreeView = New TreeView
应该被删除,其余的代码应该仍然可以正常工作
这假设您的TreeView
直接位于页面的“顶层”,而不是在某种容器中(如UpdatePanel
)。如果是这种情况,则需要首先使用FindControl
获取TreeView
因此,与其删除上面的行,不如将其替换为以下内容:
Dim TreeView1 As TreeView = someContainer.FindControl("TreeView1")
此外,该代码可能需要在代码隐藏的Page\u Load
部分运行(如果尚未运行)。但我并不认为这是问题所在。您正在为同一个节点分配两次。一次到treeview节点,一次到另一个节点的子节点。如果要将子节点添加到某个节点,则无需将节点分配到树视图本身。将代码更改为
TreeView1.Nodes.Add(node2)
node2.ChildNodes().Add(node)
抢手货但是,一旦我将其更改为页面上的treeview,它仍然没有显示。@Greg您尝试过其他答案中的代码了吗?这是这里的另一个问题:当您执行TreeView1.Nodes(0.ChildNodes().Add(node)
时,实际上是删除您之前添加的节点并使其成为node2的子节点。这可能会引起一些混乱。是的,我的代码开始工作了。。。我不知道为什么。我吃过午饭回来,无意中进入了网站的这一部分,树视图显示出来。谢谢大家的帮助。@Greg你不喜欢这种情况吗=P好吧,祝你好运,我很高兴能帮上忙。