nav100
nav100

Reputation: 1487

Build Treeview with parent, child tables

I am building treeview using asp.net 2.0/3.5 from master detail table.

ParentTable Value ---ChildTable Value ---GrandChildTable1 Node ---GrandChildTable1 Value ---GrandChildTable2 Node ---GrandChildTable1 Value

I have created something like this to populate node values. But I am not sure how to display GrandChildNode and values. Could you please let me know if there are any ideas? Thank you for any help.

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:

    }
}

Upvotes: 0

Views: 952

Answers (1)

Nauman
Nauman

Reputation: 11

Here is my solution:

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();
}

Upvotes: 1

Related Questions