2010-01-20 84 views
0

我正在使用来自主细节表的asp.net 2.0/3.5构建树状图。与父,子表构建树状图

ParentTable价值 --- ChildTable价值 --- GrandChildTable1节点 --- GrandChildTable1价值 --- GrandChildTable2节点 --- GrandChildTable1价值

我创建了这样的事情来填充节点值。但我不确定如何显示GrandChildNode和值。如果有任何想法,请让我知道吗? 谢谢你的帮助。

protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e) 
{ 
    switch (e.Node.Depth) 
    { 
     case 0: 
      GetParentTableValues(e.Node); 
      break; 
     case 1: 
      GetChildTableValues(e.Node); 
      break; 
     case 2: 

    } 
} 

回答

1

这里是我的解决方案:

string NodeText = string.Empty; 
string NodeKey = string.Empty; 
TreeRolesList.Nodes.Clear(); 

DataTable dtEnqRoles = bllENQRolesMaster.GetENQRolesMasterByRolesDetail(); 

if (dtEnqRoles.Rows.Count > 0) 
{ 
    for (int i = 0; i < dtEnqRoles.Rows.Count;) 
    { 
     NodeText = dtEnqRoles.Rows[i]["RoleDescriptionMaster"].ToString().Trim(); 
     NodeKey = dtEnqRoles.Rows[i]["RoleMasterID"].ToString(); 
     TreeNode pNode = new TreeNode(NodeText, NodeKey); 
     TreeRolesList.Nodes.Add(pNode); 

     foreach (DataRow dr in dtEnqRoles.Select("RoleMasterID = " + NodeKey)) 
     { 
      TreeNode childNode = new TreeNode(dr["RoleDescriptionDetail"].ToString().Trim(), dr["RoleDetailID"].ToString()); 
      pNode.ChildNodes.Add(childNode); 
      i++; //incrementing the outer loop here 
     } 

    } 
    TreeRolesList.ExpandAll(); 
}