解决了,通过DataSet的递归操作TreeView生成树状图
点击次数:34 次 发布日期:2008-11-27 00:38:24 作者:源代码网
|
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 , ) 源代码网供稿. |
