使用父表子表构建Treeview

时间:2010-01-20 13:23:01

标签: asp.net

我正在使用主要详细信息表格中的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 个答案:

答案 0 :(得分: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();
}