2

我有一个带有“proposalID”列的sharepoint 2010 列表。该列中的值为 5555-01、5555-02、5555-03、6666-01、6666-02 等。

我想按破折号左侧的 4 个字符进行分组。因此分组将显示 5555 下的 3 个项目和组 6666 下的 2 个项目,依此类推。

使用 Sharepoint Designer 2010,我添加了一个空白的 dataview webpart,连接到我的列表,并从功能区选择按提案 ID 列排序。它呈现了以下 xsl ddwrt 代码:

我一直在尝试各种语法来更改字符串函数,但没有成功。我试图从这篇文章中收集一些知识,http://jamestsai.net/Blog/post/SharePoint-Data-View-Data-Form-Web-Part-Group-items-by-month-on-DateTime-field。 aspx - 但无法将字符串语法应用于我的案例。

有人可以建议我如何完成这个分组吗?先感谢您。

<xsl:choose>
  <xsl:when test="not ($dvt_groupfield)">
    <xsl:value-of select="ddwrt:NameChanged(string(@ProposalID), 0)" />
  </xsl:when>
  <xsl:otherwise></xsl:otherwise>
</xsl:choose>
4

1 回答 1

2

根据那篇博客文章,我认为在这种情况下以下内容会起作用:

<xsl:choose>
  <xsl:when test="not ($dvt_groupfield)">
    <xsl:value-of select="ddwrt:NameChanged(string(substring(@ProposalID, 1, 4)), 0)" />
  </xsl:when>
  <xsl:otherwise></xsl:otherwise>
</xsl:choose>

使用 1 和 4 作为子字符串的界限。

同样对于标题,也如博客文章中所述:

<xsl:when test="not (@ProposalID) and (@ProposalID) != false()">
  <xsl:value-of select="' '" />
</xsl:when>
<xsl:otherwise>
    <xsl:value-of select="substring(@ProposalID,1,4)" />

你能试试吗?

于 2013-01-16T18:56:00.873 回答