我的代码(Tree1)中有一个TreeView,我将使用我的CreatTree()
方法在深度中添加节点。在Debug中我理解了这一行
(Tree1.Nodes[i].ChildNodes.Add(new TreeNode(i.ToString()))
)不会导致向树添加节点,因此循环中的错误是:
指数超出范围。必须是非负数且小于集合的大小。 参数名称:index
有人可以告诉我如何将儿童添加到某个节点?
<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()));;
}
答案 0 :(得分: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()));;
}
答案 1 :(得分: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个节点,一个在另一个之下。