Hi try with this,
TreeNode pnode, cnode, dnode;
TreeNode pnode, cnode, dnode;
view.Nodes.Clear();
DataSet ds =sh.GetDataSet("SELECT distinct Table1.value1,Table1.value2 FROM table2 INNER JOIN Table1 ON table2.Section = Table1.value1");
foreach(DataRow dr in ds.Tables[0].Rows)
{
pnode = new TreeNode();
pnode.Text = dr["value2"].ToString();
pnode.Value = dr["value1"].ToString();
view.Nodes.Add(pnode);
view.CollapseAll();
DataSet ds1 = sh.GetDataSet("SELECT distinct table2.SubSection FROM table2 INNER JOIN Table1 ON table2.Section = Table1.value1 where Table1.value2 like '" + dr["value2"].ToString() + "' ");
foreach (DataRow dr1 in ds1.Tables[0].Rows)
{
cnode = new TreeNode();
cnode.Text = dr1["SubSection"].ToString();
pnode.ChildNodes.Add(cnode);
DataSet ds2 = sh.GetDataSet("SELECT distinct table2.value4,table2.value3 FROM table2 INNER JOIN Table1 ON table2.Section = Table1.value1 where Table1.value2 like '" + dr["value2"].ToString() + "' and table2.SubSection like '" + dr1["SubSection"].ToString() + "' ");
foreach (DataRow dr2 in ds2.Tables[0].Rows)
{
dnode = new TreeNode();
dnode.Text = dr2["value3"].ToString();
dnode.Value = dr2["value4"].ToString();
cnode.ChildNodes.Add(dnode);
}
}
regards,
Pal