2013-07-17 232 views
1

我試圖將子節點添加到樹視圖控件中的父節點。一切運行良好的degbugger,他們看起來好像他們正在增加,但我所能看到的是父節點。有人能對此發出一點點亮光。謝謝。向Treeview控件添加子節點ASP.Net

foreach (var item in agencyListRoot) 
{ 
    TreeNode parentNode = new TreeNode(); 
    TreeNode childNode = new TreeNode(); 

    if (item.HeirID.ToString() == "/1/") 
    { 
      parentNode.Text = item.AgencyName.ToString(); 
      tv_Agencies.Nodes.Add(parentNode); 

    } 
    if (item.HeirID.ToString() == "/1/2/") 
    { 
     childNode.Text = item.AgencyName.ToString(); 
     parentNode.ChildNodes.Add(childNode); 
    } 
} 

回答

0
var root = new TreeNode("root"); 
TreeNode group = root; 

所以這是解決方案。不是最漂亮的,但它適用於我所需要的。如果你想要我的表結構意味着

foreach (var item in agencyListRoot) 
{    
    if (item.HeirID.ToString() == "/1/") 
    { 
     group = new TreeNode(item.AgencyName.ToString()); 
     root.ChildNodes.Add(group); 
    } 
    else if (item.HeirID.ToString() == "/1/2/") 
    { 
     TreeNode childNodeU = new TreeNode(item.AgencyName.ToString()); 
     group.ChildNodes.Add(childNodeU); 
    } 
} 
0

是的,ASP.NET樹控件是善變的。您需要首先添加所有子節點,然後將父節點添加到樹視圖。

1

可能是這個代碼將有助於你..

foreach (DataRow dr in dtTree.Select("parent_id is null")) // To get the each parent node in the table or anything else 
    { 
    TreeNode node = new TreeNode(dr["name"].ToString(), dr["s_no"].ToString()); 
    TreeView1.Nodes.Add(node); // Adding Parent node to the treeview 
    string serial_no = dr["s_no"].ToString(); // store parent node value or text in an variable 
    foreach(DataRow dr1 in dtTree.Select("parent_id = '"+serial_no+"'")) // To get child node of parent node 
    { 
     TreeNode child_node = new TreeNode(dr1["name"].ToString(), dr1["s_no"].ToString()); 
     node.ChildNodes.Add(child_node);// Here adding the child node to particular parent node. 
    } 
    } 

。像這樣創建你的桌子。

感謝和問候, Ganesh。 S

相關問題