SqlServer2000(注意:是通过推荐人或者安置人来定义树型结构的!) HTML语言 <%@ Page language="c#" Codebehind="TreeView.aspx.cs" AutoEventWireup="false" Inherits="TestXml.TreeView" %><%@ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ><HTML> <HEAD> <title>TreeView</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body bgcolor="#003366"> <form id="Form1" method="post" runat="server"> <iewc:TreeView id="TreeView1" style="Z-INDEX: 101; LEFT: 0px; POSITION: absolute; TOP: 0px" runat="server"></iewc:TreeView> </form> </body></HTML> C#(*.cs)文件 using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Data.SqlClient;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 Microsoft.Web.UI.WebControls; namespace TestXml{ /// <summary> /// TreeView 的摘要说明。 /// </summary> public class TreeView : System.Web.UI.Page { protected Microsoft.Web.UI.WebControls.TreeView TreeView1; protected DataView dv=new DataView (); int level=0; protected System.Web.UI.HtmlControls.HtmlTableCell info; int maxLevel=4; SqlConnection MyCon; SqlCommand MyCom; SqlDataAdapter MyData; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 if(!IsPostBack) { CreateNode(this.TreeView1); } } #region 创建树 /// <summary> /// 根结点 /// </summary> /// <param name="myTree">树</param> private void CreateNode(Microsoft.Web.UI.WebControls.TreeView myTree) { myTree.ToolTip = "点击查看网络图"; string head=""; TreeNode item = new TreeNode(); if(Request.QueryString ["bh"]!=null) { item.Text =Request.QueryString ["bh"].Trim (); head=item.Text ; } else { item.Text ="公司"; head="8888888888"; } if(Request.QueryString ["level"]!=null) { string[] strs=Request.QueryString ["level"].Trim ().Split(",".ToCharArray()); maxLevel=Convert.ToInt32 (strs[strs.Length -1]); } item.Expanded = true; myTree.Nodes.Add(item); InitTree(item.Nodes,head); } /// <summary> /// 初始化树 /// </summary> /// <param name="Nds">nodes集合</param> /// <param name="anZhi">推荐人编号</param> private void InitTree(TreeNodeCollection Nds,string anZhi) { DataView tmpDV=this.CreateDataView (); tmpDV.RowFilter ="Tuijian='"+anZhi+"'"; if(Request.QueryString ["az"]!=null) { tmpDV.RowFilter ="anzhi='"+anZhi+"'"; } TreeNode tmp; foreach(DataRowView drv in tmpDV) { try { tmp=new TreeNode (); tmp.Text =drv["bianhao"].ToString ()+" "+drv["Name"].ToString (); tmp.NavigateUrl ="TreeView.aspx?bh="+drv["bianhao"].ToString (); tmp.DefaultStyle .CssText ="color:#FFFFFF"; if(level<maxLevel) { tmp.Expanded =true; } Nds.Add (tmp); level++; InitTree (tmp.Nodes ,drv["bianhao"].ToString ().Trim ()); //继续递归调用 } catch{} } } /// <summary> /// 获取数据 /// </summary> /// <returns></returns> private DataView CreateDataView() { DataTable dt; MyCon = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["connString"].ToString()); string sql="select bianhao,Name,Tuijian,Anzhi from h_info"; MyData = new SqlDataAdapter(sql,MyCon); DataSet ds = new DataSet(); MyData.Fill(ds); dt = ds.Tables[0]; return dt.DefaultView; } #endregion #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion }}