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