Sharepoint XSL数据视图查询字符串过滤

时间:2011-03-24 00:51:09

标签: sharepoint list dataview

假设我有一个名为events的列表。

使用SP Designer我可以将webpart添加到页面,选择事件列表,并使用标准sharepoint控件和列过滤的数据网格添加到页面,类似于任何列表的“allitems.aspx”视图

列过滤的好处在于它使用GET请求,使用查询字符串,例如:

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

这允许我构建网址并将其发送给人们,向他们展示预过滤的数据。如果没有查询字符串,则显示所有项目。

如何使用xsl数据视图实现此目的?对这些过滤是通过POST请求完成的(即URL永远不会更改或附加查询字符串)。我知道我可以设置查询字符串参数,然后对此参数进行过滤,但如果查询字符串不存在,则不会显示任何项目,因为它始终在查找要过滤的查询字符串。

有没有办法让xsl数据视图在GET请求模式下工作?

1 个答案:

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