相关热词搜索:
在ASP.NET中开发树状结构
在ASP.NET中开发树状结构 摘要:在网页中用树状结构显示数据既清晰又简单,用户非常需要。本文从实际应 用的角度,介绍了在ASP.NET中使用TreeView控件来创建树状结构的几种具体方 法,可以方便地建立静、动态树状结构,较好地解决了树状结构在生成无限层次 不定数量节点时非常困难而且容易出错的问题。
关键字:
Treeview控件、命名空间、静态树、动态树 一、引言 在网页开发工具ASP.NET的应用中,用户经常希望用树状控件来显示分类或 层次数据,这样既简单又直观,但是ASP.NET本身没有提供此控件。当然程序员 可以用ImageButton和Label等组成的用户控件和XML、XSL语言自己进行编写, 它们可以显示有限层次少量节点的树状,但要生成无限层次不定数量的节点时就 难以实现并且非常容易出错。
作者通过对Microsoft下TreeView控件大量的实际应用,可以非常方便地实现 任何类型的树状结构,较好地解决了上述问题。
三、三种方式添加节点,创建静态树 开发树状结构要定义一个TreeView控件,并向其中添加所需的Treenode节点。
向TreeView控件中添加节点的方法有三种:
1、 在页面中创建:
所有的WebControls都要放在form中,Treeview当然也不例外:
body form runat="server" mytree:treeview id="treeview1" runat="server" mytree:treenode text="first node"/ /mytree:treeview /form /body以上的语句创建了具有一个节点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:
mytree:treeview id="treeview1" runat="server" treenodesrc="http://tp.yiaedu.com/showimg.php?url=numtree.xml"/ 说明当生成树状控件时会自动从numtree.xml中读取树的节点内容, numtree.xml文件如下:
XML version="1.0" encoding="utf-8" treenodes treenode text="first node"/ treenode text="second node"/ /treenodes 生成的树状结果同上面的例子相同 使用同样的方法和原理,我们可以创建比这更为复杂的树结构。TreeView 控件还有许多其他的属性和事件,象ChildType,SelectedStyle,imageurl和 onselectedindexchang等,利用这些属性不但可以美化树状结构的外观,而且还可 以更好的满足你的使用要求。
五、结论:
在上面的使用中,我们可以看出TreeView控件在生成树状结构方面具有强大功能,与其他编写自定义用户控件和利用XML的方法相比较,它提供的用可扩 展的树状结构来显示层次数据方法更加方便、实用和有效,而且出错率非常低。
随着对TreeView控件深入的研究,我们也会不断地发现它的更多的有用的方法和 功能。
参考文献 [1]运用XML—XSL进行高级用户接口设计(1)—目录树设计 http://www.ourasp.com/content.aspkind=XML 2002.2 [2]James Avery. Developing with the Treeview Web Control. http://www.aspalliance.com/jamesavery/webcontrols/treeviewp1(2).aspx 2002.4 [3]About The Treeview WebControl http://msdn.microsoft.com/workshop/webcontrols/webforms/library/Treeview/treevie w.asp [4]王超、张鹏 ASP.NET/XML深入编程技术. 北京希望电子出版社 2002.1 [5]HOW TO:Dynamically Add Notes to a Treeview WebBrowser Control by Using Visual C#.Net http://support.microsoft.com/default.aspxscid=kb;EN-US;q32909GssNB=1 [6]Treeview Element|Treeview Object http://msdn.microsoft.com/workshop/webcontrols/reference/treeview_entry .asp