首先创建一张表:
create table t1( id int, --节点ID name char(10),--节点名称 pid int--父节点名称 )
insert into t1 values(1,'a','')
insert into t1 values(2,'b',1)
insert into t1 values(3,'c',2)
insert into t1 values(4,'d',3)
insert into t1 values(5,'e',3)
insert into t1 values(6,'f',4)
第二步:将treeview控件拖入到页面中
第三步:编写后台代码:
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class treeview : System.Web.UI.Page { SqlConnection sqlcon = new SqlConnection("Server=newway;Database=Test;Integrated Security=SSPI"); DataSet ds = new DataSet(); SqlDataAdapter sdr; protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { GetData(); createNode(this.TreeView1.Nodes, "0"); } } public void GetData() { string sql = "select * from t1"; sdr = new SqlDataAdapter(sql, sqlcon); ds = new DataSet(); sdr.Fill(ds, "t"); } public void createNode(TreeNodeCollection x,string pid) { DataView dv = new DataView(); TreeNode tr; string id; dv.Table = ds.Tables["t"]; dv.RowFilter = "pid=" + pid + ""; if (dv.Count == 0) return; foreach (DataRowView dav in dv) { tr = new TreeNode(); tr.Text = dav["id"].ToString(); tr.Value = dav["id"].ToString(); id = dav["id"].ToString(); createNode(tr.ChildNodes, id); x.Add(tr); } } }