且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在asp.net中没有parentID动态添加Treeview节点

更新时间:2023-10-07 21:00:22

检查使用C#和VB.Net在ASP.Net中使用TreeView绑定和显示分层数据 [ ^ ]

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)
               {
                  // if (!string.IsNullOrEmpty(level1DataRow["Node Level"].ToString()))
                   {
                       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?

check Bind and display hierarchical data with TreeView in ASP.Net using C# and VB.Net[^]