2013-07-17 218 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

相关问题