本文實例講述了C# TreeView無限目錄樹實現方法。分享給大家供大家參考,具體如下:
#region 綁定客戶樹protected void bindTreeView(){  TreeView1.Nodes.Clear();  string userid = Session["UserID"].ToString();  string sqlwr = new SY_ADMINUSER().GetUserIDListByLoginUser(userid, "CUSTOMERSERVICE", false);  DataTable dt = Maticsoft.DBUtility.DbHelperOra.Query("Select PARENTID,CUSTOMERID,CUSTOMERSHORT,CUSTOMERSERVICE from CU_CUSTOMER where ISDELETE='0' " + sqlwr + " order by CUSTOMERSHORT ").Tables[0];  //定義臨時樹節點  TreeNode tmpNd;  //特殊處理  foreach (DataRow dr in dt.Rows)  {    DataRow[] drs = dt.Select("CUSTOMERID='" + dr["PARENTID"] + "'");    if (drs.Length == 0) //無上級節點    {      dr["PARENTID"] = "0";    }  }  dt.AcceptChanges();  //從DataTable中得到所有父節點為null的DataRow形成的數組  DataRow[] rows = dt.Select("PARENTID='0'");  //遍歷根節點數組  foreach (DataRow row in rows)  {    tmpNd = new TreeNode();    //給根節點賦值    tmpNd.Value = row["CUSTOMERID"].ToString();    tmpNd.Text = row["CUSTOMERSHORT"].ToString();    tmpNd.Expanded = true;    //將節點加入到樹中    TreeView1.Nodes.Add(tmpNd);    AddTree(dt, TreeView1, tmpNd, row["CUSTOMERID"].ToString());  }}public void AddTree(DataTable dt, TreeView tv, TreeNode pNode, string CUSTOMERID){  DataRow[] rows = dt.Select("PARENTID='" + CUSTOMERID + "'");  TreeNode tmpNd;  foreach (DataRow row in rows)  {    tmpNd = new TreeNode();    //給根節點賦值    tmpNd.Value = row["CUSTOMERID"].ToString();    tmpNd.Text = row["CUSTOMERSHORT"].ToString();    tmpNd.Expanded = true;    pNode.ChildNodes.Add(tmpNd);    //將節點加入到樹中    //TreeView1.Nodes.Add(pNode);    AddTree(dt, TreeView1, tmpNd, row["CUSTOMERID"].ToString());  }}#endregion新聞熱點
疑難解答