无限递归实现treeview动态添加节点
这个方法是用来实现往treeview里面填充数据库中的数据的我以前没有用过
在网上找了一些资料
他们都是用递归实现的
我看不太明白 那位能把我的代码改改
多加点注释 说实话 递归什么原理我都不知道
protected void addtreview()
{
SqlConnection myconn = new SqlConnection();
myconn.ConnectionString = "server=.;database=baoming;uid=sa;pwd=admin";
myconn.Open(); //连接数据库
SqlDataAdapter sda = new SqlDataAdapter("select * from treeview where tree_class = 1", myconn); //读取根节点数据
DataSet ds = new DataSet();
sda.Fill(ds);
for (int i = 0;i<ds.Tables[0].Rows.Count;i++) //遍历根节点数量
{
SqlDataAdapter sda2 = new SqlDataAdapter("select * from treeview where tree_lei = '" + ds.Tables[0].Rows[i]["tree_id"].ToString() + "'", myconn); //读取子节点数据
DataSet ds2 = new DataSet();
sda2.Fill(ds2);
TreeNode node = new TreeNode();
node.Text = ds.Tables[0].Rows[i]["tree_name"].ToString(); //填充根节点数据
for (int j = 0; j < ds2.Tables[0].Rows.Count; j++) //遍历第一级子结点数量
{
TreeNode newnode = new TreeNode();
newnode.Text = ds2.Tables[0].Rows[j]["tree_name"].ToString(); //填充子节点数据
newnode.NavigateUrl = ds2.Tables[0].Rows[j]["tree_url"].ToString();
node.ChildNodes.Add(newnode); //将子节点添加到父节点下
}
TreeView2.Nodes.Add(node); //填充treeview
}
myconn.Close();
}