我有一个sharepoint 2010列表与列"proposalID"。该列中的值为5555-01、5555-02、5555-03、6666-01、6666-02等
我想按破折号左边的4个字符分组。因此,分组将在5555组下显示3个项目,在6666组下显示2个项目,等等。
使用Sharepoint Designer 2010,我添加了一个空白的数据视图web部件,连接到我的列表,并从功能区选择按提案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>
根据那篇博客文章,我假设下面的方法可以在这种情况下工作:
<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)" />
你能试一下吗?