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 哈哈