|
|
| 利用Treeview实现树形列表(2) |
| 作者:不详 来源:不详 发布时间:2006-8-14 8:44:13 发布人:chinazhan |
减小字体
增大字体
如果我们使用第一种方法,必须对XML进行重写,用以下的形式表示,才能绑定到树形控件中去。 <TREENODES> <treenode text="..."> <treenode text="..."> </treenode> <treenode text="..." /> ... </TREENODES> 就是说,根结点必须是treenodes(大小写都无所谓),每个子结点必须以<treenode>的形式排列。于是,我们对原来的XML文件改写为如下的形式: <?xml version="1.0" encoding="UTF-8"?> <TREENODES> <treenode text="Teach Yourself Active Server_u80 ?ages 3.0 in 21 Days"> <treenode text="Price - $34.95" /> <treenode text="Authors"> <treenode text="Mitchell" /> <treenode text="Atkinson" /> </treenode> <treenode text="Year Published - 2000" /> </treenode> <treenode text="Designing Active Server Pages"> <treenode text="Price - $29.95" /> <treenode text="Authors"> <treenode text="Mitchell" /> </treenode> <treenode text="Year Published - 2000" /> </treenode> 〈/TREENODES> 增加以下代码: <form runat="server"> <ie:TreeView runat="server"> <ie:TreeNode runat="server" Text="ASP.NET Books" Expanded="True" TreeNodeSrc="aspnetbooks.xml" /> </ie:TreeView> </form> 这样就将该xml文件绑定到树形控件中去了,运行后可以看到结果: ASP.NET Books Teach Yourself Active Server Pages 3.0 in 21 Days Designing Active Server Pages ASP.NET: Tips, Tutorials, and Code Programming ASP.NET 可以看到,使用第一种方法的确比较麻烦,不能对XML的结点进行筛选或者其他操作。而如果使用第二种方法的XSL,则可以根据需要随时对原来的XML进行格式的控制,十分方便。 在使用XSL时,可以用如下的方法对树形控件进行绑定: <form runat="server"> <ie:TreeView runat="server"> <ie:TreeNode runat="server" Text="ASP.NET Books" Expanded="True" TreeNodeSrc="aspnetbooks.xml" TreeNodeXsltSrc="aspbooks.xsl" /> </ie:TreeView> </form> 其中,treenodexsltsrc的属性中指定要转换的XSL文件,我们设计的XSL文件如下: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'> <xsl:template match="/books"> <TREENODES> <xsl:for-each select="book"> <treenode> <xsl:attribute name="text"> <xsl:value-of select="title" /> </xsl:attribute> <treenode> <xsl:attribute name="text"> Price - $<xsl:value-of select="@price" /> </xsl:attribute> </treenode> <treenode text="Authors"> <xsl:for-each select="authors/author"> <treenode> <xsl:attribute name="text"> <xsl:value-of select="text()" /> </xsl:attribute> </treenode> </xsl:for-each> </treenode> <treenode> <xsl:attribute name="text"> Year Published - <xsl:value-of select="year" /> </xsl:attribute> </treenode> </treenode> </xsl:for-each> </TREENODES> </xsl:template> </xsl:stylesheet> 在上面的XSL中,我们通过形如 <xsl:attribute name="text"> <xsl:value-of select="title" /> </xsl:attribute> 的属性设置,提取XML文件中每个结点的值,将其赋值给予treenode的text属性中。当然,也可以在XSL中使用XPATH等设置要显示的结点。 运行后,结果同样与用第一种方法的一样,能正确显示树形控件,而且灵活性比较高。 做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。
|
| |
|
[]
[返回上一页]
[打 印]
[收 藏] |
|
| ∷相关文章评论∷ (评论内容只代表网友观点,与本站立场无关!) [更多评论...] |
|
|