如何对XSLT进行排序

时间:2010-11-04 13:42:48

标签: xslt

  <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,我需要按名称排序,然后按日期排序。 列名称和日期必须是可点击的,并且基于我应该能够对结果进行排序的点击。

任何一个例子都会很棒。感谢您的支持。

1 个答案:

答案 0 :(得分: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" />

如果您想要一个可以根据用户互动对结果进行排序的网页的全部功能,您将不得不尝试自己并告诉我们您绊倒的位置..