手机
当前位置:查字典教程网 >编程开发 >C#教程 >treeview递归绑定的两种方法
treeview递归绑定的两种方法
摘要:方法一:复制代码代码如下:publicvoidcreattree(intfid,TreeNodeparentnode){DataTabled...

方法一:

复制代码 代码如下:

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

}

【treeview递归绑定的两种方法】相关文章:

c#创建Graphics对象的三种方法

c# 递归访问文件夹(删掉歌词文件)

Repeater控件绑定的三种方式

关于C#程序优化的五十种方法

简介C#读取XML的两种方式

.NET(C#):Emit创建异常处理的方法

C# String Replace高效的实例方法

C#中使用split分割字符串的几种方法小结

C#的XML两种代码注释实例说明

C# TrieTree介绍及实现方法

精品推荐
分类导航