Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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 Treeview-Treenode-VB.Net-不显示节点_Asp.net_Vb.net_Datatable_Treeview - Fatal编程技术网

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好吧,祝你好运,我很高兴能帮上忙。