0

我的代码(Tree1)中有一个 TreeView,我将 使用我的方法深度添加节点。CreatTree()在调试中我明白这一行

( Tree1.Nodes[i].ChildNodes.Add(new TreeNode(i.ToString())))不会导致向 Tree 添加节点,因此循环中的错误是:

指数超出范围。必须是非负数且小于集合的大小。参数名称:索引

谁能告诉我如何将孩子添加到某个节点?

<asp:TreeView ID="Tree1" runat="server"  >  
</asp:TreeView>

后面的代码是:

protected void CreateTree( )
        {

            Tree1.Nodes.Add(new TreeNode("0"));


            for (int i = 0; i < 4; i++)
                Tree1.Nodes[i].ChildNodes.Add(new TreeNode(i.ToString()));;



        }
4

2 回答 2

0

这应该做我认为你正在寻找的东西:

protected void CreateTree()
{
    Tree1.Nodes.Add(new TreeNode("0"));

    TreeNode currentNode = Tree1.Nodes[0];

    for (int i = 0; i < 4; i++)
    {
        currentNode.ChildNodes.Add(new TreeNode(i.ToString()));
        currentNode = currentNode.ChildNodes[0];
    }
}

您最终将得到 5 个节点,一个在彼此之下。

于 2013-10-02T12:57:48.920 回答
0

您可以尝试使用以下代码吗,因为在专利级别您只添加了 1 条记录,并且您尝试在四个不同的父节点添加新的子节点。

protected void CreateTree( )
        {

            Tree1.Nodes.Add(new TreeNode("0"));


            for (int i = 0; i < 4; i++)
                Tree1.Nodes[0].ChildNodes.Add(new TreeNode(i.ToString()));;



        }
于 2013-10-02T11:36:35.327 回答