使用来自 Sharepoint Designer 中已连接 LVWP 的参数的 xslt 过滤 DVWP
Posted
技术标签:
【中文标题】使用来自 Sharepoint Designer 中已连接 LVWP 的参数的 xslt 过滤 DVWP【英文标题】:Filtering DVWP with xslt with parameter from connected LVWP in Sharepoint Designer 【发布时间】:2012-10-12 00:45:34 【问题描述】:我的设置如下: Sharepoint 2010 网站上的自定义页面,其中包含列表视图 Web 部件和数据视图 Web 部件。当我在 LVWP 中选择一个项目时,我想使用多查找字段值过滤 DVWP。因此,我连接了两个 Web 部件,以便 DVWP 从 LVWP 获取参数。我使用以下内容过滤 DVWP:
<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[contains($pDataAftaleID,concat(@ID,';#',@ID))]"/>
其中 pDataAftaleID 是来自 LVWP 的参数。
我的问题是:如果 LVWP 中的选定项目在参数字段中有值,则一切正常,但如果没有,Sharepoint 似乎不会将 null/empty 或零值写入参数并且filter 参数将 LVWP 中最后一个选定项目的值保留为一个值,因此 DVWP 会显示某个先前选定项目的项目,而不是“没有要显示的项目”。
是否有某种方法可以强制写入空字段,或者是否可以在每次 DVWP 加载时将参数设置为零?有什么建议吗?
【问题讨论】:
【参考方案1】:<xsl:variable name="Rows">
<xsl:choose>
<xsl:when test="/dsQueryResponse/Rows/Row[contains($pDataAftaleID,concat(@ID,';#',@ID))]">
<xsl:text>/dsQueryResponse/Rows/Row[contains($pDataAftaleID,concat(@ID,';#',@ID))]</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>0</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
请检查此功能或此功能的变体是否适合您。
【讨论】:
以上是关于使用来自 Sharepoint Designer 中已连接 LVWP 的参数的 xslt 过滤 DVWP的主要内容,如果未能解决你的问题,请参考以下文章
SharePoint 2013 Designer系列之数据视图
SharePoint - 使用 SP Designer 编辑搜索页面
如何在 SharePoint Online 中自定义 SharePoint Designer 工作流任务表单?
SharePoint 2013 create workflow by SharePoint Designer 2013