• 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);
               }
  • 相关阅读:
    损失函数相关
    半监督学习
    自监督学习
    leetcode相关
    深度学习中的Normalization
    TCN
    用户行为序列相关
    损失函数loss相关
    MapReduce编程之实例分析:wordCount
    MapReduce编程之初学概念篇
  • 原文地址:https://www.cnblogs.com/ljs-13/p/12109203.html
Copyright © 2020-2023  润新知