博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
treeview递归绑定的两种方法
阅读量:6840 次
发布时间:2019-06-26

本文共 2597 字,大约阅读时间需要 8 分钟。

 

方法一:

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);           }

 

 

  

转载于:https://www.cnblogs.com/stephen-vv/archive/2012/12/17/2822049.html

你可能感兴趣的文章