treeview递归绑定的两种方法

 更新时间:2014年04月23日 11:38:26   作者:  
这篇文章主要介绍了treeview递归绑定的两种方法,需要的朋友可以参考下

方法一:

复制代码 代码如下:

public void creattree(int fid, TreeNode parentnode)
           {

               DataTable dt = new DataTable();
               dt = op.BindGroup();
               DataRow[] drs = dt.Select("parentid=" + fid);
               foreach (DataRow row in drs)
               {
                   if (parentnode != null)
                   {
                       TreeNode tempnode = new TreeNode();
                       tempnode.Text = row["groupname"].ToString();
                       tempnode.Name = row["groupid"].ToString();
                       parentnode.Nodes.Add(tempnode);
                       creattree(Convert.ToInt32(row["groupid"]), tempnode);
                   }
                   else
                   {
                       TreeNode tempnode = new TreeNode();
                       tempnode.Text = row["groupname"].ToString();
                       tempnode.Name = row["groupid"].ToString();
                       treeView1.Nodes.Add(tempnode);
                       creattree(Convert.ToInt32(row["groupid"]), tempnode);                   
                   }
               }
           }

           private void bindtree()
           {
               treeView1.Nodes.Clear();
               creattree(0,(TreeNode)null);
           }

方法二:

复制代码 代码如下:

public void AddTree(int ParentID, TreeNode pNode)
           {
               DataTable dt = new DataTable();
               dt = op.BindGroup();
               DataView dvTree = new DataView(dt);
               //过滤ParentID,得到当前的所有子节点  
               dvTree.RowFilter = "parentid    =    " + ParentID;

               foreach (DataRowView Row in dvTree)
               {
                   TreeNode Node = new TreeNode();
                   if (pNode == null)
                   {          //添加根节点  
                       Node.Text = Row["groupname"].ToString();
                       treeView1.Nodes.Add(Node);
                       //Node.Expanded = true;

                       AddTree(Int32.Parse(Row["groupid"].ToString()), Node);          //再次递归  
                   }
                   else
                   {        //添加当前节点的子节点  
                       Node.Text = Row["groupname"].ToString();
                       pNode.Nodes.Add(Node);
                       //Node.Expanded = true;
                       AddTree(Int32.Parse(Row["groupid"].ToString()), Node);            //再次递归  
                   }
               }
           }

   private void bindtree()
           {
               treeView1.Nodes.Clear();
               AddTree(0, (TreeNode)null);
           }

相关文章

  • WPF快速入门教程之绑定Binding

    WPF快速入门教程之绑定Binding

    初学wpf,经常被Binding搞晕,以下记录写Binding的基础。下面这篇文章主要给大家介绍了关于WPF快速入门教程之绑定Binding的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-10-10
  • C#列出所有物理网络适配器的方法

    C#列出所有物理网络适配器的方法

    这篇文章主要介绍了C#列出所有物理网络适配器的方法,实例分析了C#操作网络设备的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • C#结合数据库实现验证识别ID卡内容的方法

    C#结合数据库实现验证识别ID卡内容的方法

    这篇文章主要介绍了C#结合数据库实现验证识别ID卡内容的方法,非常实用的功能,需要的朋友可以参考下
    2014-07-07
  • C#获取Excel第一列的实例方法

    C#获取Excel第一列的实例方法

    在本篇文章里小编给各位分享了关于C# 怎么获取Excel第一列的实例方法和代码,需要的朋友们可以学习下。
    2019-08-08
  • 深入c# GDI+简单绘图的具体操作步骤(一)

    深入c# GDI+简单绘图的具体操作步骤(一)

    本篇文章是对GDI的基础知识进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C# MJPEG 客户端简单实现方法

    C# MJPEG 客户端简单实现方法

    这篇文章主要介绍了C# MJPEG 客户端简单实现的方法,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03
  • c#和sql如何获得时间间隔的方法

    c#和sql如何获得时间间隔的方法

    这篇文章主要介绍了c#和sql如何获得时间间隔的方法,有需要的朋友可以参考一下
    2013-12-12
  • C#中数组初始化与数组元素复制的方法

    C#中数组初始化与数组元素复制的方法

    这篇文章主要介绍了C#中数组初始化与数组元素复制的方法,涉及C#中数组的创建、初始化及使用Array.Copy方法复制数组元素的技巧,需要的朋友可以参考下
    2015-04-04
  • 利用C#守护Python进程的方法

    利用C#守护Python进程的方法

    这篇文章主要给大家介绍了关于如何利用C#守护Python进程的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • C#实现读取和设置文件与文件夹的权限

    C#实现读取和设置文件与文件夹的权限

    这篇文章主要为大家详细介绍了如何使用C#实现读取和设置文件与文件夹的权限,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03

最新评论