2010-11-04 62 views
0
<div id="MySampleListTable"> 
<table width="80%" class="newClass"> 
    <tr> 
    <xsl:if test="count(List) > 0"> 
    <td valign =" "top" 
     <table width="100%" class="mygrid" cellpadding="0" cellspacing="0"> 
     <caption></caption> 
     <tr style="text-align: left;"> 
      <th id="ColHeader"> 
      <div class="colheaderdefault">Default</div> 
      </th> 
      <xsl:for-each select="Listcol/column"> 
      <th> 
       <xsl:attribute name="Id"> 
       ColHeader_<xsl:value-of select="."/> 
       </xsl:attribute> 
       <div> 
       <xsl:attribute name="class"> 
        ColHeader_<xsl:value-of select="."/> 
       </xsl:attribute> 
       <xsl:choose> 
        <xsl:when test=".='Name'">Name</xsl:when> 
        <xsl:otherwise> 
        <xsl:value-of select="@DisplayName"/> 
        </xsl:otherwise> 
       </xsl:choose> 
       </div> 
      </th> 
     </xsl:for-each> 
      <th> 
      Date 
      </th> 
     </tr> 
     <xsl:apply-templates select="List" /> 
     </table> 
     </td> 

    </xsl:if> 
    </tr> 

如何排序做XSLT

我上面的XSLT,我需要通過名稱按日期排序這個,然後。 列的名稱和日期必須是可點擊的,並根據點擊我應該能夠對結果進行排序。

任何例子都會很棒。感謝您的支持。

+0

您使用的是哪種版本的XSLT?你需要對'for-each'中的項目進行排序嗎?源XML是什麼樣的? – Oded 2010-11-04 13:47:17

+0

@ Kalls:關於排序,你只會得到猜測答案,因爲你沒有提供輸入源。關於「onclick」,這超出了XSLT的範圍。行爲是Emacscript字段。 – 2010-11-04 14:05:24

回答

1

,如果你想處理在XSLT側的排序然後改變

<xsl:for-each select="Listcol/column"> 

<xsl:for-each select="Listcol/column"> 
    <xsl:sort select="@name" order="ascending" /> 
    <xsl:sort select="@date" order="ascending" /> 

如果您希望能夠排序結果基於網頁的整體功能用戶交互,您將不得不嘗試自己並告訴我們您跌倒的位置。

+0

我對XSLT沒有任何經驗。這是我想解決的問題。是的,它必須基於用戶交互。任何例子都會有很大的幫助。我感謝你的意見。 – kalls 2010-11-04 14:00:19

+0

@卡爾斯,你問關於用xslt排序。點擊等用戶交互與xslt無關..請修改您的問題以添加相關信息..喜歡什麼技術您的使用asp/php,你想排序在客戶端(*如果是的話,你使用JavaScript框架*)或在服務器上。數據來自哪裏..靜態XML文件或一些數據庫(如果是這樣的話).. – 2010-11-04 14:23:32

+0

我必須通過代碼來找到所有的信息。這是asp.net應用程序。一旦我獲得更多信息,我會一直保持發佈。 – kalls 2010-11-04 14:31:57