C#数据库递归构造TreeView树形结构

来源:互联网 发布:itunes删除软件 编辑:程序博客网 时间:2024/05/17 05:59

///<sumary>

///初始化父节点

///</sumary>

private void InitTreeView()

{

    Ilist list = 数据源;

     for(int i = 0 ; i < list.Count; i++)

      {

           TreeNode node = new TreeNode();

           if((list[i]).Parent == null)

           {

              node.Text = list[i].Name;

              node.Name = list[i].Id;

              TreeView.Nodes.Add(node);

              BindChild(node);

            }

       }

}

///<sumary>

///遍历子节点

///</sumary>

private void BindChild(TreeNode node)

{

  Ilist list = 数据源;

  for(int i = 0 ; i < list.Count; i++)

  {

     if((list[i]).Parent.Id == node.Name)

      {

         TreeNode childNode = new TreeNode();

         childNode.Text = list[i].Name;

         childNode.Name = list[i].Id;

         node.Nodes.Add(childNode);

          BindChild(childNode);

       }

   }

}

 

具体实现时要根据TreeView的数据源做相应调整 ,以上代码只是本人构造多层递归树的基本思路