zoukankan      html  css  js  c++  java
  • 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);
               }
  • 相关阅读:
    清除vs2005、vs2008起始页最近打开项目
    解决VS2005打开js,css,asp.php等文件,中文都是乱码的问题
    “007~ASP 0104~不允许操作”错误的解决方法(图解)
    nofollow标签浪费了多少站长做外链的时间
    如果你的评论被WordPress的Akismet插件屏蔽,怎么解封?
    VPS磁盘划分建立新磁盘
    ASP.NET使用AJAX应注意IIS有没有.ashx扩展
    将磁盘从FAT格式转换为NTFS格式的方法
    C#调用RabbitMQ实现消息队列(转载)
    超燃:2019 中国.NET 开发者峰会视频发布
  • 原文地址:https://www.cnblogs.com/ljs-13/p/12109203.html
Copyright © 2011-2022 走看看