<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    acerbic coffee
    走自己的路,讓別人跑步
    posts - 26,comments - 14,trackbacks - 0
    例一:

    關于XSLTXML的介紹就不再多說,這里關注的是如何使用XSLT分頁顯示XML中的數據,并可以針對每一列對全部數據進行重新排序.

    假設有下面的XML數據,需要使用XSLT分頁顯示XML數據,并可針對每一列對所有數據進行重新排序,應該如何處理呢?

    XML數據如下:

     1 <?xml version="1.0" encoding="gb2312"?>
     2 <AllUsers xmlns:dt="urn:schemas-microsoft-com:datatypes">
     3     <User>
     4         <UserID>01</UserID>
     5         <UserName>OhYeah</UserName>
     6         <UserEmail>Oh@126.com</UserEmail>
     7     </User>
     8     <User>
     9         <UserID>02</UserID>
    10         <UserName>楊過</UserName>
    11         <UserEmail>yg@21.com</UserEmail>
    12     </User>
    13     <User>
    14         <UserID>03</UserID>
    15         <UserName>真寶玉</UserName>
    16         <UserEmail>xyz@msn.com</UserEmail>
    17     </User>
    18     <User>
    19         <UserID>04</UserID>
    20         <UserName>天堂</UserName>
    21         <UserEmail>tt@163.net</UserEmail>
    22     </User>
    23     <User>
    24         <UserID>05</UserID>
    25         <UserName>草原</UserName>
    26         <UserEmail>yt@sina.com</UserEmail>
    27     </User>
    28 </AllUsers>
    29 

    恐怕最容易想到的就是XSLT中的for-each元素.
     1<xsl:param name="PageNo">1</xsl:param>
     2<xsl:param name="FuncName">goPage</xsl:param>
     3<xsl:param name="Count">4</xsl:param>
     4<table  width="800" border="0" cellspacing="2" cellpadding="2">
     5<tr>
     6        <th><xsl:attribute name="onClick">sortBy('UserID')</xsl:attribute>RecordNo</th>
     7        <th><xsl:attribute name="onClick">sortBy(' UserName')</xsl:attribute>FieldA</th>
     8        <th><xsl:attribute name="onClick">sortBy(' UserEmail')</xsl:attribute>Name</th>
     9</tr>
    10<xsl:for-each select="RecordSet[(position() &lt;= $PageNo*$Count) and (position() &gt; (number($PageNo)-1)*$Count)]">
    11<xsl:sort select="UserID"/>
    12<tr>
    13 <td><xsl:value-of select="'UserID'"/></td>
    14    <td><xsl:value-of select=" UserName"/></td>
    15<td><xsl:value-of select=" UserEmail"/></td>
    16</tr> 
    17</xsl:for-each>
    18</table>
    19

    頁碼數發生變化時,通過JavaScript指定for-each中的$PageNo變量.

    重新排序時,通過JavaScript指定sort元素的select屬性.

    但這里就有一個問題:這里點擊列名重新排序時,只是對當前頁的數據進行了重新排序(原因是先用for-each取出的當前頁的數據,然后才進行排序的),咱們本來的目標應該是對所有數據重新排序的.

           解決這個問題的過程中,孟子E章曾經給我一篇他網站上的文章,解決了這個問題.但網頁使用的是VBScript,并且不能正確運行.為此,浪費了不少時間(-_-!!!,太懶了,就希望借用成功的代碼,遇到不正確的代碼就不愿自己去看.).不過最終總算搞明白了.解決方案就是先用一個XSLT對所有數據重新排序后生成XML,再對重新排序后的XML進行分頁操作.

           用于對XML排序并生成XMLXSLT如下:


     1<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     2<xsl:template match="Table">
     3<?xml version="1.0" encoding="iso-8859-1"?>
     4< AllUsers >
     5    <xsl:for-each select="RecordSet">
     6    <xsl:sort order="ascending" data-type="text" select="Name"/>
     7    <User>
     8    <UserID><xsl:value-of select="RecordNo" /></UserID>
     9    <UserName><xsl:value-of select="FieldA" /></UserName>
    10    <UserEmail><xsl:value-of select="Name" /></UserEmail>
    11    </User>
    12    </xsl:for-each>
    13</ AllUsers >
    14</xsl:template>
    15</xsl:stylesheet>



    例子二:
    posted on 2008-06-04 16:54 acerbic coffee 閱讀(713) 評論(0)  編輯  收藏 所屬分類: 個人筆記
    主站蜘蛛池模板: 8x8×在线永久免费视频| 亚洲第一区视频在线观看| 亚洲精品理论电影在线观看| 最近高清中文字幕免费| 亚洲精品午夜在线观看| 69视频在线观看高清免费| 亚洲第一区视频在线观看| 波多野结衣在线免费观看| 亚洲国产美女在线观看| 无人在线直播免费观看| 2020国产精品亚洲综合网 | 久久精品国产亚洲香蕉| 久久青草免费91线频观看站街| 亚洲国产精品无码专区在线观看| 中美日韩在线网免费毛片视频| 亚洲v国产v天堂a无码久久| 免费精品国自产拍在线播放 | 久久久久亚洲精品日久生情| 91精品视频在线免费观看| 亚洲视频在线观看不卡| 最近最好最新2019中文字幕免费| 亚洲人妖女同在线播放| 国产精品二区三区免费播放心| 搜日本一区二区三区免费高清视频| 亚洲精品国产高清不卡在线| a毛片在线还看免费网站| 无码久久精品国产亚洲Av影片| 美女视频黄的全免费视频网站| 亚洲中文字幕精品久久| 免费一级毛片在播放视频| 男女一边桶一边摸一边脱视频免费| 国产亚洲3p无码一区二区| 99久久99这里只有免费费精品| 亚洲日韩看片无码电影| 国产亚洲精品AA片在线观看不加载| 国内精品免费在线观看| 亚洲综合一区无码精品| 亚洲人成网站在线播放vr | 大学生一级特黄的免费大片视频| 国产美女视频免费观看的网站| 亚洲一区二区三区亚瑟|