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);
               }
  • 相关阅读:
    centos 新增用户, 然后他在主目录添加网站403Forbbiden
    linux 把用户加入一个组&从这个组中移除
    [THINKPHP] 温故知新之getFieldBy
    php 获取指定月份的开始结束时间
    apache 占用内存总量与每个apache进程的平均内存占用量计算
    网站并发300就很慢
    centos定时备份数据库超简单示例
    php导出excel时间错误(同一个时间戳,用date得到不同的时间)
    设置iframe 载入页面的效果跟直接打开这个页面一样
    node基础09:第2个node web服务器
  • 原文地址:https://www.cnblogs.com/ljs-13/p/12109203.html
Copyright © 2011-2022 走看看