2011-03-24 62 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>