技术开发 频道

通过DataSet的递归操作TreeView生成树状图


【IT168技术文档】

  从csdn上问来的,谢谢stdao(道可道) 老弟,呵呵。
using Microsoft.Web.UI.WebControls; using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient; namespace test { public class WebForm1 : System.Web.UI.Page { protected Microsoft.Web.UI.WebControls.TreeView tv; private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) {bindtree(tv.Nodes,"0");} } private void bindtree(TreeNodeCollection Nds , string depid) { DataSet ds=bindds();//获取DataSet,具体代码略 DataView dv=ds.Tables["tree"].DefaultView; dv.RowFilter="HiDepID="+depid; TreeNode tn; string strID; foreach(DataRowView dr in dv) { strID=dr["DepID"].ToString(); if (strID!="") { tn=new TreeNode(); tn.ID=dr["DepID"].ToString(); tn.Text=dr["Name"].ToString(); Nds.Add(tn); bindtree(Nds[Nds.Count-1].Nodes,strID); } } } } }
  附
  数据库结构:
CREATE TABLE [dbo].[tbDep] ( [DepID] [smallint] IDENTITY (1, 1) NOT NULL , [DepName] [varchar] (50) NOT NULL , [HiDepID] [smallint] NULL , )
0
相关文章