简单医院网站,网络宣传的方法渠道,平面设计做兼职网站,沈阳公司做网站.NET平台下Web树形结构程序设计 我的上篇文章《树形结构在开发中的应用》主要是在Windows Form下的实现#xff0c;下面是Web Form下的实现。数据库设计 首先#xff0c;我们在SQL SERVER 2000里建立一个表tbTree#xff0c;表的结构设计如下#xff1a;列名数据类型描述长… .NET平台下Web树形结构程序设计 我的上篇文章《树形结构在开发中的应用》主要是在Windows Form下的实现下面是Web Form下的实现。 数据库设计 首先我们在SQL SERVER 2000里建立一个表tbTree表的结构设计如下 列名 数据类型 描述 长度 主键 ID Int 节点编号 4 是 ParentID Int 父节点编号 4 ConText Nvarchar 我们要显示的节点内容 50 在SQL SERVER 2000中建表的脚本 CREATE TABLE [dbo].[tbTree] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [Context] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [ParentID] [int] NULL ) ON [PRIMARY] 在表中添加如下记录 SET IDENTITY_INSERT tbtree ON insert tbtree (ID,Context,ParentID) values ( 1,中国,0) insert tbtree (ID,Context,ParentID) values ( 2,北京,1) insert tbtree (ID,Context,ParentID) values ( 3,天津,1) insert tbtree (ID,Context,ParentID) values ( 4,河北省,1) insert tbtree (ID,Context,ParentID) values ( 5,广东省,1) insert tbtree (ID,Context,ParentID) values ( 6,广州,5) insert tbtree (ID,Context,ParentID) values ( 7,四川省,1) insert tbtree (ID,Context,ParentID) values ( 8,成都,7) insert tbtree (ID,Context,ParentID) values ( 9,深圳,5) insert tbtree (ID,Context,ParentID) values ( 10,石家庄,4) insert tbtree (ID,Context,ParentID) values ( 11,辽宁省,1) insert tbtree (ID,Context,ParentID) values ( 12,大连,11) insert tbtree (ID,Context,ParentID) values ( 13,上海,1) insert tbtree (ID,Context,ParentID) values ( 14,天河软件园,6) insert tbtree (ID,Context,ParentID) values ( 15,汕头,5) SET IDENTITY_INSERT tbtree off 下载Treeview控件地址 http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp 安装后通过“自定义工具箱”-“.net框架组件”把TreeView添加到工具箱里。 新建一个项目选择Visual Basic.Net 工程Asp.net Web应用程序在页面上拖画一个TreeView控件。 Html页 % Register TagPrefixiewc NamespaceMicrosoft.Web.UI.WebControls AssemblyMicrosoft.Web.UI.WebControls, Version?xml:namespace prefix st1 ns urn:schemas-microsoft-com:office:smarttags /1.0.2.226, Cultureneutral, PublicKeyToken31bf3856ad364e35 %?xml:namespace prefix o ns urn:schemas-microsoft-com:office:office / % Page Languagevb AutoEventWireupfalse CodebehindWebForm1.aspx.vb InheritsTree.WebForm1% !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN HTML HEAD titleWebForm1/title meta nameGENERATOR contentMicrosoft Visual Studio .NET 7.0 meta nameCODE_LANGUAGE contentVisual Basic 7.0 meta namevs_defaultClientScript contentJavaScript meta namevs_targetSchema contenthttp://schemas.microsoft.com/intellisense/ie5 /HEAD body MS_POSITIONINGGridLayout form idForm1 methodpost runatserver FONT face宋体 iewc:TreeView idTreeView1 styleZ-INDEX: 101; LEFT: 39px; TOP: 68px runatserver/iewc:TreeView/FONT /form /body /HTML 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 Microsoft.Web.UI.WebControls;using System.Data.SqlClient;namespace TreeCS{ /**//// summary /// WebForm1 的摘要说明 /// /summary public class WebForm1 : System.Web.UI.Page { protected Microsoft.Web.UI.WebControls.TreeView TreeView1; private void Page_Load(object sender, System.EventArgs e) { // 定义数据库连接 SqlConnection CN new SqlConnection(); try { //初始化连接字符串 CN.ConnectionString data sourcepmserver;initial catalogBenchmark;persist security infoFalse;user idsa;Passwordsa;; CN.Open(); SqlDataAdapter adp new SqlDataAdapter(select * from tbTree,CN); DataSet dsnew DataSet(); adp.Fill(ds); this.ViewState[ds]ds; } catch (Exception ex) { Session[Error] ex.ToString(); Response.Redirect(error.aspx); //̀跳转程序的公共错误处理页面 } finally { CN.Close(); } //调用递归函数完成树形结构的生成 AddTree(0, (TreeNode)null); } //递归添加树的节点 public void AddTree(int ParentID,TreeNode pNode) { DataSet ds(DataSet) this.ViewState[ds]; DataView dvTree new DataView(ds.Tables[0]); //过滤ParentID,得到当前的所有子节点 dvTree.RowFilter [PARENTID] ParentID; foreach(DataRowView Row in dvTree) { TreeNode Nodenew TreeNode() ; if(pNode null) { //添加根节点 Node.Text Row[ConText].ToString(); TreeView1.Nodes.Add(Node); Node.Expandedtrue; AddTree(Int32.Parse(Row[ID].ToString()), Node); //再次递归 } else { //̀添加当前节点的子节点 Node.Text Row[ConText].ToString(); pNode.Nodes.Add(Node); Node.Expanded true; AddTree(Int32.Parse(Row[ID].ToString()),Node); //再次递归 } } } Web Form Designer generated code#region Web Form Designer generated code 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 }}声明本文版权与解释权归李洪根所有如需转载请保留完整的内容及此声明。 QQ: 21177563 MSN: lihonggenhotmail.com 专栏http://www.csdn.net/develop/author/netauthor/lihonggen0/转载于:https://www.cnblogs.com/coolylh/archive/2005/11/14/276027.html