2011-03-24 61 views
2

可以說我有一個名爲events的列表。Sharepoint XSL數據視圖查詢字符串過濾

使用SP Designer我可以添加一個webpart到一個頁面,選擇事件列表,並且具有標準sharepoint控件和列過濾的數據網格將被添加到頁面中,類似於任何「allitems.aspx」視圖名單。

有關列篩選的好處是,它使用GET請求,使用查詢字符串如:

?FilterField1=location&FilterValue1=usa&FilterField2=qtr&FilterValue2=q2

這讓我構建的URL,並將它們發送到人,向他們展示預過濾後的數據。當沒有查詢字符串時,顯示所有項目。

如何通過xsl數據視圖實現此目的?這些過濾是通過POST請求完成的(即,URL永遠不會改變或者附加查詢字符串)。我知道我可以設置一個查詢字符串參數,然後過濾此參數,但是如果查詢字符串不存在,則不會顯示任何項目,因爲它始終查找用於過濾的查詢字符串。

有什麼辦法讓xsl數據視圖在GET請求模式下工作嗎?

回答

3

是的,你可以,你可以做的是添加一個條件是XSLT,如果你的XSLT參數存儲查詢字符串值是空的,則表明其他所有結果基於查詢字符串參數XSL篩選它

<xsl:choose> 
<xsl:when test="$qparam1=''"> 
<xsl:call-template name="allitem" /> 
</xsl:when> 
<xsl:when test="$qparam1!=''"> 
<xsl:call-template name="filterdeitem"> 
<xsl:param filter1 = $qparam1/> 
</xsl:call-template> 
</xsl:when> 
</xsl:choose>