2013-10-02 18 views
0

我在我的代碼樹(Tree1)中有一個TreeView,我將使用我的CreatTree()方法在深度中添加節點。在調試I理解的是,這條線Asp.net:TreeView和索引超出範圍

Tree1.Nodes[i].ChildNodes.Add(new TreeNode(i.ToString()))不會導致將節點添加到樹所以在環路中的誤差是:

索引超出範圍。必須是非負數且小於集合的大小。 參數名稱:索引

任何人都可以告訴我如何添加一個孩子到某個節點?

<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

你能用下面的代碼嘗試,因爲在專利水平已添加只有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()));; 



     } 
+0

它只是添加一個孩子的*根*,但我想深入添加節點 我的意思是我想要孩子節點[1] – Salman

+0

抱歉,我沒有得到您的要求。你可以用圖像解釋編輯問題嗎? –

+0

@ Naresh Pansuriya:我已經有一個節點作爲我在循環中的根,我要將一個子節點添加到最後一個節點 – Salman

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個節點,一個在對方結束了。