在ASP.NET中开发树状结构

作者:66WEN收集整理 来源:www.66wen.com 更新时间:2006年11月10日

摘要:

在网页中用树状结构显示数据既清晰又简单,用户非常需要。本文从实际应用的角度,介绍了在ASP.NET中使用TreeView控件来创建树状结构的几种具体方法,可以方便地建立静、动态树状结构,较好地解决了树状结构在生成无限层次不定数量节点时非常困难而且容易出错的问题。

关键字:

Treeview控件、命名空间、静态树、动态树

一、引言

在网页开发工具ASP.NET的应用中,用户经常希望用树状控件来显示分类或层次数据,这样既简单又直观,但是ASP.NET本身没有提供此控件。当然程序员可以用ImageButton和Label等组成的用户控件和XML、XSL语言自己进行编写,它们可以显示有限层次少量节点的树状,但要生成无限层次不定数量的节点时就难以实现并且非常容易出错。

作者通过对Microsoft下TreeView控件大量的实际应用,可以非常方便地实现任何类型的树状结构,较好地解决了上述问题。

二、安装 TreeView控件、导入命名空间

在你的Web程序使用TreeView控件之前,首先必须下载Internet Explorer WebBrower controls到你的开发机器上,然后导入命名空间。可访问以下网址下载:

http://www.asp.net/ControlGallery/default.aspx?Category=38&tabindex=2

下载后,再根据它的帮助文档进行一些必要的设置。

在成功下载并设置了之后,就可以开始使用TreeView控件。记住:在每个使用它的程序页面的开头都要导入它的命名空间:

<%@ Import namespace="Microsoft.Web.UI.WebControls" %>

<%@Register TagPrefix="mytree" NameSpace="Microsoft.Web.UI.WebContro-ls" Assembly="Microsoft.Web.UI..WebControls,Version=1.0.2.226,Culture=neu-tral,PublicKeyToken=31bf3856ad364e35" %>

三、三种方式添加节点,创建静态树

开发树状结构要定义一个TreeView控件,并向其中添加所需的Treenode节点。向TreeView控件中添加节点的方法有三种:

1、 在页面中创建:

所有的WebControls都要放在form中,Treeview当然也不例外:

以上的语句创建了具有一个节点first node、名为treeview1的树。

2、在程序代码中创建:

public void Page_Load(object sender,EventArgs e)

{

if(!Page.IsPostBack)

{

TreeNode snode=new TreeNode();

snode.Text="second node";

treeview1.Nodes.Add(snode);

}

}

这样就为上例的treeview1又创建一个节点second node,Add方法是在树的最后添加节点。生成的结构

3、从XML中导入:

在TreeView控件中设定treenodesrc属性的值为numtree.xml:

说明当生成树状控件时会自动从numtree.xml中读取树的节点内容,numtree.xml文件如下:

生成的树状结果同上面的例子相同

四、方便快捷地创建动态树

以上方法产生的树都是静态的,即使是从XML中导入,它的节点数目也是一定的。当我们要将数据库中的数据用树状结构表现出来时,并不知道这个树的层次和节点数,就需要在TreeView控件中动态地添加树节点。例如用树状结构表现一个公司有许多部门,部门下有员工。部门的数据放在表dept中(包含字段deptid和deptname),部门和员工的对应关系放在表deptperson中(包含字段deptid、personid和personname),并且这些字段都是string类型,这两个表放在数据库mydb.mdb中。这里添加节点的方法也有几种,在此介绍的方法是在页面加载时生成部门节点,当点击部门前的扩展图标按钮后再生成部门下的人员子节点。

本篇文章共3页,此页为首页 下一页

自动摘要
摘要:在网页中用树状结构显示数据既清晰又简单,用户非常需要。安装TreeView控件、导入命名空间在你的Web程序使用TreeView控件之前,首先必须下载InternetExplorerWebBrowercontrols到你的开发机器上,然后导入命名空间。这里添加节点的方法也有几种,在此介绍的方法是在页面加载时生成部门节点,当点击部门前的扩展图标按钮后再生成部门下的人员子节点。
关键词
控件 节点 字段 导入 生成 添加 创建 静态
版权申明: 本网站所有内容,未经注明的,版权一律属于免费论文网(66wen.com)制作署所有。转载引用本网站的原创文章,请务必注明信息来源,标明“免费论文网(66wen.com)”字样。
免费论文网(66WEN.com)依法保护知识产权,如果我们的文章有涉及或侵犯您的有关权益,请即时与我们联系, 注明网址及文章,我们会即时处理或删除, 感谢您的合作!
免责声明 | 关于我们 | 广告联系 | 帮助设置 | 网站导航 | 发表服务 | 共同合作
皖ICP备案许可06002111
免费论文网(www.66wen.com) 版权所有 copyright 2005--2008,All Rights Reserved