'Sharepoint Online/365 - Remove 'View Entries' from list view for multi append column and show entries

I am really struggling to find a workable solution to this for Sharepoint Online/365.

Desired end result - Sharepoint list - View all items - Columns which are multi line append show the entries OR last entry within the all item view INSTEAD of the awful 'View Entries' link.

Solutions I have tried - I've tried to create a mirror column which is does not append and just copies information. I have created a flow which takes the information from the multi line append and copies it into the mirror column. However, this doesn't work as the updates are appending to the multi line column before the flow kicks in so it sees the column as blank and therefore copies nothing.

I am looking for any solutions or workarounds for this which will allow the 'View Entries' to be removed and the actual history to be displayed, or the most recent update, or show all or recent updates in the mirror column.

Thank you in advance.



Solution 1:[1]

It has been a while since you asked this, but I thought I would post a solution incase anyone else finds this in a Google search as I did.

I had SharePoint 2010 and had this working by making a new view using SharePoint Designer. I replaced <xsl:value-of select="@AppendField" disable-output-escaping="yes" /> with <SharePoint:AppendOnlyHistory FieldName="AppendField" runat="server" ControlMode="Display" ItemId="{@ID}"/>.

I am currently upgrading to SharePoint Online and this did not work when I copied the file from the old SharePoint host to the new one. I re-created the view in SharePoint Designer (used 2013 for SharePoint Online) and the same code replacement gave an error, so I was searching for a solution. I found a site that used the same tag, but the ItemId field was set different (instead of ItemId="{@ID}" it was ItemId="{$thisNode/@ID}").

I found the section of the code that referenced the AppendField and changed <xsl:value-of select="$thisNode/@*[name()=current()/@Name]" disable-output-escaping="yes"/> to be <SharePoint:AppendOnlyHistory FieldName="AppendField" runat="server" ControlMode="Display" ItemId="{$thisNode/@ID}" />.

Here are the code examples from SharePoint Designer (Change AppendField to be the name of your appended field):

Before (displayed "View Entries")

<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>

After (displays the history in the view coilumn)

<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>

Here are the links I referenced when I found my solution:

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Jimmy