如何使用递归建立树结构
首先需要导入Microsoft 提供的免费DLL:microsoft.web.ui.webcontrols.DLL.然后把TreeView控件添加进来.
其次代码如下:
其次代码如下:
1 public void intitree(TreeNodeCollection Nds,int parentId)
2 {
3 DataView dv=new DataView();
4
5 TreeNode tmpNd; //创建临时节点
6
7 dv.Table=ds.Tables["tree"];
8 dv.RowFilter="parentId="+parentId; //筛选数据
9
10 foreach(DataRowView drv in dv)
11 {
12 tmpNd=new TreeNode();
13 int strid=Convert.ToInt32(drv["nodeid"]); //当前节点的ID号
14 tmpNd.ID=strid.ToString();
15 tmpNd.Text=drv["nodename"].ToString(); //节点的名字
16 tmpNd.NavigateUrl=drv["address"].ToString(); //节点链接地址
17 tmpNd.ImageUrl="images/work_edit.gif"; //节点的图像
18 tmpNd.Expanded=false; //节点是否展开
19 tmpNd.Target="main"; //节点重定向的方向
20 Nds.Add(tmpNd); //将临时节点添加到TreeView菜单中
21 intitree(Nds[Nds.Count-1].Nodes,strid); //递归调用,进行遍历
22 }
23
24 }
调用时:2 {
3 DataView dv=new DataView();
4
5 TreeNode tmpNd; //创建临时节点
6
7 dv.Table=ds.Tables["tree"];
8 dv.RowFilter="parentId="+parentId; //筛选数据
9
10 foreach(DataRowView drv in dv)
11 {
12 tmpNd=new TreeNode();
13 int strid=Convert.ToInt32(drv["nodeid"]); //当前节点的ID号
14 tmpNd.ID=strid.ToString();
15 tmpNd.Text=drv["nodename"].ToString(); //节点的名字
16 tmpNd.NavigateUrl=drv["address"].ToString(); //节点链接地址
17 tmpNd.ImageUrl="images/work_edit.gif"; //节点的图像
18 tmpNd.Expanded=false; //节点是否展开
19 tmpNd.Target="main"; //节点重定向的方向
20 Nds.Add(tmpNd); //将临时节点添加到TreeView菜单中
21 intitree(Nds[Nds.Count-1].Nodes,strid); //递归调用,进行遍历
22 }
23
24 }
1 intitree(TreeView1.Nodes,0);
浙公网安备 33010602011771号