C#递归因此部门展现到TreeViewnode
1.首先是数据库表的设计数据库
新建一张部门表:TestUser表网站
1.ID自增int主键 2.DeptName:nchar(10)3.DeptCode:nchar(10)4:ParentID:nchar(10)
spa
2.部门表就建好了设计
3.新建一个网站blog
4.在网站的default.aspx界面拖一个TreeView控件。递归
5.aspx.cs代码以下:string
public static string strConn=ConfigurationManager.ConnectionStrings["connString"].ConnectionString.ToString();//数据库链接串 protected void Page_Load(object sender,EventArgs e) { if(!isPostBack) { BindDeptTree("0");//数据库你也能够设计成int类型 } } private void BindDeptNode(TreeNode DTnode) { try { DataSet=reDs("select DeptName,DeptCode from TestUser where ParentID='"+DTnode.Value+"'"); for(int i=0;i<ds.Tables[0].Rows.Count;i++) { TreeNode node=new TreeNode(); node.Text=ds.Tables[0].Rows[i]["DeptName"].ToString(); node.Value=ds.Tables[0].Rows[i][DeptCode].ToString(); DTnode.ChildNodes.Add(node);//把指定的节点添加到控件中 BindDeptNode(node); } } catch(Exception ex) { Log.LogWrite(ex.Message); } } private void BindDeptTree(string ParentID) { DataSet=reDs("select DeptName,DeptCode from TestUser where ParentID='"+DTnode.Value+"'"); for(int i=0;i<ds.Tables[0].Rows.Count;i++) { TreeNode node=new TreeNode(); node.Text=ds.Tables[0].Rows[i]["DeptName"].ToString(); node.Value=ds.Tables[0].Rows[i][DeptCode].ToString(); tvData.Nodes.Add(node);//TreeView的IDtvData BindDeptNode(node); } } public DataSet reDs(string strSql) { using(SqlConnection conn=new Sqlconnection(strConn)) { conn.Open(); DataSet ds=new DataSet(); SqlDataAdapter da=new SqlDataAdapter (strSql,conn); da.Fill(ds); conn.close(); return ds; } }
运行结果以下图:it
但愿对你们有帮助。有不足的地方望指教。尊重原创,转载请注明出处。io