我真的很难为Sharepoint Online / 365找到一个可行的解决方案。
所需的最终结果 - Sharepoint列表 - 查看所有项目 - 多行追加的列显示所有项目视图中的条目或最后一个条目INSTEAD的糟糕视图条目'链接。
我尝试过的解决方案 - 我尝试创建一个不附加的镜像列,只是复制信息。我创建了一个流程,它从多行附加信息并将其复制到镜像列中。但是,这并不起作用,因为更新会在流程启动之前附加到多行列,因此它会将列视为空白,因此不会复制任何内容。
我正在寻找任何解决方案或解决方法,以便查看条目'要删除,要显示的实际历史记录,最新更新,或在镜像列中显示所有或最近的更新。
提前谢谢。
答案 0 :(得分:0)
自从您问这个问题已经有一段时间了,但是我想我会发布一个解决方案,以防其他人像我一样在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(用于SharePoint Online的2013)中重新创建了视图,并且相同的代码替换也出现了错误,因此我正在寻找解决方案。
我发现一个使用相同标签的站点,但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>
这是我找到解决方案时引用的链接: