C#遞歸因此部門展現到TreeView

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

相關文章
相關標籤/搜索