2010-01-20 81 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(); 
}