我正在构建一个“仪表板”,在其中我使用 DVWP 和 XSLT 向客户端显示任务总数、打开的数量、关闭的数量等内容,类似于本文
我的问题是我有一个多值查找列,我需要获取值的计数,但我无法用我尝试过的方法生成任何结果。
任何关于如何完成的建议或建议都会很棒。
因此,要添加到上述内容作为更新:
我不确定如何达到预期结果的最佳方法。本质上,我有一个多值查找列,目前有 20 个值。客户端可以在需要时添加新值。所以我试图做的是获取他们为每条记录选择的值的总计类型计数。
例如,假设查找列有五 (5) 个值:
价值 1 价值 2 价值 3 价值 4 价值 5
在 newform.aspx 中,它们能够选择多个值(因此可以选择值 3 和值 5;或者值 2、值 4 和值 5 等)。在列表视图中,它当然会显示应有的选择。我试图做的是获得这些值的总数。
例如,输出看起来像:
Value 1 : 5
Value 2 : 1
Value 3 : 2
Value 4 : 3
Value 5 : 6
Value 3 & 5 : 4
Value 2,4, & 5: 3
我不确定 XSLT 是否可以开发这样的东西,因为我以前不必使用如此复杂的查找列来执行此操作。通常我会做类似下面的事情,但这只能让我了解基础知识,并且由于可以组合这些值,我不确定如何处理:
<xsl:template name="dvt_1.body">
<xsl:param name="Rows"/>
<xsl:variable name="total1" select="count(/dsQueryResponse/Rows/Row/@MyLookupCol.[contains(.,'1;#Value1')])"></xsl:variable>
<xsl:call-template name="cs3_totalRow">
<xsl:with-param name="cs3_RowName1">
Value 1
</xsl:with-param>
<xsl:with-param name="cs3_RowValue1">
<xsl:value-of select="$total1"/>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="totalsRow">
<xsl:param name="RowName1"></xsl:param>
<xsl:param name="RowValue1"></xsl:param>
<table>
<tr>
<td>
<xsl:value-of select="$cs3_RowName1"/>:
</td>
<td>
<xsl:value-of select="$cs3_RowValue1"/>
</td>
</tr>
</table>