递归循环
来源:互联网 发布:sql2008 数据库启用sa 编辑:程序博客网 时间:2024/05/17 07:49
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
-
- public partial class _Default : System.Web.UI.Page
- {
- DataView dv;
- DataTable dt;
-
- protected void Page_Load(object sender, EventArgs e)
- {
-
- if (!Page.IsPostBack)
- {
-
- Operator op = new Operator();
-
- dt = op.Query();
-
- CreateTree(0, null, dt, this.TreeView1);
- this.TreeView1.ExpandAll();
- }
- }
-
-
-
-
-
-
-
-
- public void CreateTree(int parentID, TreeNode node, DataTable dt, TreeView treeView)
- {
-
- dv = new DataView(dt);
-
- dv.RowFilter = "[menuParentID]=" + parentID;
-
-
- foreach (DataRowView row in dv)
- {
-
- if (node == null)
- {
-
- TreeNode root = new TreeNode();
-
- root.Text = row["menuName"].ToString();
- root.Value = row["menuID"].ToString();
-
- this.TreeView1.Nodes.Add(root);
-
- CreateTree(int.Parse(row["menuID"].ToString()), root, dt, treeView);
-
- }
- else
- {
-
- TreeNode childNode = new TreeNode();
- childNode.Text = row["menuName"].ToString();
- childNode.Value = row["menuID"].ToString();
- node.ChildNodes.Add(childNode);
- CreateTree(int.Parse(row["menuID"].ToString()), childNode, dt, treeView);
-
- }
- }
-
- }
- }
- create table tabMenu
- (
- menuID int identity(1,1) primary key,--自动编号
- menuParentID int not null,--上级菜单的编号
- menuName varchar(20) not null,--菜单名称
- menuUrl varchar(20) not null,--菜单地址
- menuImage varchar(20) not null, --图片地址
- menuTarget varchar(20) not null,--打开方式
- )
- go
- --0表示根节点
- insert into tabMenu
- values(0,'xx后台管理','','','')
-
- --1子节点
- insert into tabMenu
- values(1,'学生管理','','','')
-
- insert into tabMenu
- values(1,'班级管理','','','')
- --2级节点
- insert into tabMenu
- values(2,'S1','','','')
-
- insert into tabMenu
- values(2,'S2','','','')
-
- insert into tabMenu
- values(2,'s3','','','')
- --3级节点
-
- insert into tabMenu
- values(3,'S1','','','')
-
- insert into tabMenu
- values(3,'S2','','','')
-
- insert into tabMenu
- values(3,'s3','','','')
-
- insert into tabMenu
- values(4,'Ccc','','','')
-
- insert into tabMenu
- values(5,'bbb,'','','')
-
- insert into tabMenu
- values(6,'fff','','','')
- --
- insert into tabMenu
- values(7,'stu1','','','')
-
- insert into tabMenu
- values(8,'stu2','','','')
-
- insert into tabMenu
- values(9,'stu1','','','')
- select * from tabMenu
- go