我真的很难为Sharepoint Online / 365找到一个可行的解决方案。
期望的最终结果 - Sharepoint list - 查看所有项目 - 多行追加的列显示条目或最后条目在所有项目视图INSTEAD中可怕的“查看条目”链接。
我尝试过的解决方案 - 我试图创建一个不附加的镜像列,只是复制信息。我创建了一个流程,它从多行附加信息并将其复制到镜像列中。但是,这不起作用,因为更新将在流程启动之前附加到多行列,因此它将列视为空白,因此不会复制任何内容。
我正在寻找任何解决方案或解决方法,这将允许删除“查看条目”和显示实际历史记录,或最新更新,或显示镜像列中的所有或最近更新。
先感谢您。
你提出这个问题已经有一段时间了,但我想我会发布一个解决方案,因为其他人在Google搜索中发现了这个问题。
我使用SharePoint 2010,并通过使用SharePoint Designer创建新视图来实现此目的。我用<xsl:value-of select="@AppendField" disable-output-escaping="yes" />
取代了<SharePoint:AppendOnlyHistory FieldName="AppendField" runat="server" ControlMode="Display" ItemId="{@ID}"/>
。
我目前正在升级到SharePoint Online,当我将文件从旧SharePoint主机复制到新主机时,这不起作用。我在SharePoint Designer中重新创建了视图(2013用于SharePoint Online)并且相同的代码替换产生了错误,因此我在寻找解决方案。我找到了一个使用相同标签的网站,但是ItemId字段设置不同(而不是ItemId="{@ID}"
,它是ItemId="{$thisNode/@ID}"
)。
我找到了引用AppendField的代码部分,并将<xsl:value-of select="$thisNode/@*[name()=current()/@Name]" disable-output-escaping="yes"/>
更改为<SharePoint:AppendOnlyHistory FieldName="AppendField" runat="server" ControlMode="Display" ItemId="{$thisNode/@ID}" />
。
以下是SharePoint Designer中的代码示例(将AppendField更改为附加字段的名称):
之前(显示“查看条目”)
<xsl:template name="FieldRef_Note_body.AppendField" ddwrt:dvt_mode="body" match="FieldRef[@Name='AppendField']" mode="Note_body" ddwrt:ghost="" xmlns:ddwrt2="urn:frontpage:internal">
<xsl:param name="thisNode" select="."/>
<div dir="{@Direction}" class="ms-rtestate-field">
<xsl:value-of select="$thisNode/@*[name()=current()/@Name]" disable-output-escaping="yes"/>
</div>
</xsl:template>
之后(在视图列中显示历史记录)
<xsl:template name="FieldRef_Note_body.AppendField" ddwrt:dvt_mode="body" match="FieldRef[@Name='AppendField']" mode="Note_body" ddwrt:ghost="" xmlns:ddwrt2="urn:frontpage:internal">
<xsl:param name="thisNode" select="."/>
<div dir="{@Direction}" class="ms-rtestate-field">
<SharePoint:AppendOnlyHistory FieldName="AppendField" runat="server" ControlMode="Display" ItemId="{$thisNode/@ID}" />
</div>
</xsl:template>
以下是我找到解决方案时引用的链接: