NET application where I need to use a TreeView Control. My problem is that I do not want to use parentID column thing to add nodes dynamically to my treeview.
I want to use "Level" Column from datatbase which has level numbers like
Level Name
5 Level 1
4 Level 2
3 Level 3
2 Level 4
1 Level 5
So I want to have a tree view which has the highest number as parent node like this
Level1
Level2
Level3
Level4
Level5
Here is my code:
foreach (DataRow level1DataRow in ds.Tables[0].Rows)
{
{
TreeNode parentTreeNode = new TreeNode();
parentTreeNode.Text = level1DataRow["Level"].ToString() + level1DataRow["Name"].ToString();
parentTreeNode.Value = level1DataRow["Level"].ToString();
parentTreeNode.SelectAction = TreeNodeSelectAction.SelectExpand;
parentTreeNode.Expand();
parentTreeNode.Selected = true;
this.TreeView1.Nodes.Add(parentTreeNode);
GetChildRows(parentTreeNode,parentTreeNode.Value);
TreeView1.SelectedNode.Selected = false;
db.Close();
other method to get child
foreach (DataRow row in ds.Tables[0].Rows)
{
int child_level = Convert.ToInt32(row["Node Level"].ToString());
if(child_level < nodeLevel && child_level != nodeLevel)
{
TreeNode childTreeNode = new TreeNode();
childTreeNode.Text = row["Level"].ToString() + row["Name"].ToString();
childTreeNode.Value = row["Level"].ToString();
childTreeNode.SelectAction = TreeNodeSelectAction.SelectExpand;
parent.ChildNodes.Add(childTreeNode);
GetChildRows(childTreeNode, childTreeNode.Value);
}
}
Please let me know how to do this?