1、新建表,表名為class,字段如下
2、拖出一個TreeView控件,控件命名為:tvwLM
3、新建類
① DAL(數據訪問層)代碼:
新建一個類,名字為DAL,里面的代碼拷貝,粘貼就可以,注意要改一下連接字符串;
1 using System; 2 3 using System.Collections.Generic; 4 5 using System.Linq; 6 7 using System.Web; 8 9 using System.Data.SqlClient; 10 11 using System.Data; 12 13 14 15 public class DAL 16 17 { 18 19 //返回連接對象; 20 21 private SqlConnection GetConnection() 22 23 { 24 25 string myStr = "Data Source=IP地址;Initial Catalog=數據庫名;user ID=用戶名;Password=密碼"; 26 27 //定義連接對象; 28 29 SqlConnection myConn = new SqlConnection(myStr); 30 31 myConn.Open();//打開連接對象; 32 33 return myConn; 34 35 } 36 37 //執行sql語句並返回結果集; 38 39 public DataSet Ds(string sql) 40 41 { 42 43 44 45 SqlConnection myConn = GetConnection(); 46 47 SqlCommand myComm = new SqlCommand(sql, myConn); 48 49 SqlDataAdapter myDa = new SqlDataAdapter(myComm); 50 51 DataSet Ds = new DataSet(); 52 53 myDa.Fill(Ds); 54 55 myConn.Close(); 56 57 myComm.Dispose(); 58 59 myDa.Dispose(); 60 61 return Ds; 62 63 } 64 65 }
② BLL(業務邏輯層)代碼:
新建一個類,名字為ClassBLL,里面的代碼拷貝,粘貼就可以;
1 using System; 2 3 using System.Collections.Generic; 4 5 using System.Linq; 6 7 using System.Web; 8 9 using System.Data; 10 11 12 13 public class ClassBLL 14 15 { 16 17 //實例化數據訪問層對象; 18 19 DAL classDAL = new DAL (); 20 21 //返回結果集; 22 23 public DataSet findParent() 24 25 { 26 27 //查詢全部; 28 29 string sql = "select *from class"; 30 31 return classDAL.Ds(sql); 32 33 } 34 35 }
4、編寫cs后台代碼;
后台代碼,適當復制,復制引用,類里面的代碼;
1 using System; 2 3 using System.Collections.Generic; 4 5 using System.Linq; 6 7 using System.Web; 8 9 using System.Web.UI; 10 11 using System.Web.UI.WebControls; 12 13 using System.Collections; 14 15 using System.Data; 16 17 public partial class zjdm_wzlmgl : System.Web.UI.Page 18 19 { 20 21 ClassBLL classBLL = new ClassBLL(); 22 23 DataSet ds = new DataSet(); 24 25 //綁定節點; 26 27 public void bind() 28 29 { 30 31 tvwLM.Nodes.Clear(); 32 33 ds = cBLL.findParent(); 34 35 //聲明節點; 36 37 TreeNode treeNode; 38 39 for (int i = 0; i <ds.Tables[0].Rows.Count; i++) 40 41 { 42 43 if (int.Parse(ds.Tables[0].Rows[i]["ParentID"].ToString()) == 0) 44 45 { 46 47 int ClassCount = 0; 48 49 //實例化節點 50 51 treeNode = new TreeNode(); 52 53 //----添加子節點 54 55 for (int j = 0; j < ds.Tables[0].Rows.Count; j++) 56 57 { 58 59 //讀取ds的第一個表的第i行,列名為ClassID和ds的第一個表的第j行,列名為ParentID進行比較,如果相等則這個節點為子節點; 60 61 if (ds.Tables[0].Rows[i]["ClassID"].ToString() == ds.Tables[0].Rows[j]["ParentID"].ToString()) 62 63 { 64 65 TreeNode treeNode1 = new TreeNode(ds.Tables[0].Rows[j]["ClassName"].ToString(), "", "", ds.Tables[0].Rows[j]["LinkUrl"].ToString(),""); 66 67 treeNode1.ToolTip = ds.Tables[0].Rows[j]["ClassName"].ToString(); 68 69 treeNode.ChildNodes.Add(treeNode1); 70 71 ClassCount++; 72 73 } 74 75 } 76 77 //----添加子節點結束; 78 79 80 81 //----設置父節點標題; 82 83 treeNode.Text=ds.Tables[0].Rows[i]["ClassName"].ToString()+" ("+ClassCount+")"; 84 85 treeNode.ToolTip = ds.Tables[0].Rows[i]["ClassName"].ToString(); 86 87 //添加父節點; 88 89 tvwLM.Nodes.Add(treeNode); 90 91 } 92 93 } 94 95 } 96 97 //頁面加載時運行代碼; 98 99 protected void Page_Load(object sender, EventArgs e) 100 101 { 102 103 if (!IsPostBack) 104 105 { 106 107 //調用綁定; 108 109 bind(); 110 111 } 112 113 } 114 115 }
又到手工的時間了,回家吃飯了,大家再見,吃飽飯在來寫,希望本文章對大家都有用,希望大家多多推薦,多多收藏,謝謝大家!!o(∩_∩)o 哈哈