Option 1 - View Mode Opening
In the example below, the Form is started in Edit Mode, showing a normal attachment control, however once it is switched to view mode, a different attachment list appears with an icon at the right that allows direct opening of the attachment with “one click”. If the file can be opened in a browser (images, PDFs) it will do so, otherwise it will download.
So what is going on here?
Firstly, a small limitation – the “view mode” list is actually a gallery (which cannot be inserted into the form), so is simply placed in the same location as the Attachment Control. Consequently, if the Form is longer than the screen, the gallery will not “scroll” with the form. The visibility of both controls is controlled by the form mode as shown further down.
The important piece is the Items of the “View” Gallery. If you simply reference the attachment control, you do not get the values you need, so you need to Lookup the SharePoint List with the relevant reference. I have simply used the ID of the selected item in the gallery from which the form was chosen, but this could be whatever identifier you wanted.
LookUp(
TestFields,
ID = galTest.Selected.ID
).Attachments
An additional function below is to shade alternate rows as shown in the demonstration – if you want to do this
With(
{
wList:
LookUp(
TestFields,
ID = galTest.Selected.ID
).Attachments
},
ForAll(
Sequence(CountRows(wList)),
Patch(
Last(
FirstN(
wList,
Value
)
),
{RowNo: Value}
)
)
)
Then the TemplateFill of the gallery is
If(
Mod(
ThisItem.RowNo,
2
) = 1,
White,
ColorFade(
LightBlue,
60%
)
)
Now the values of the controls in the gallery – the Label Text
ThisItem.DisplayName
And the Icon (it is an icon added to Media) OnSelect
Launch(ThisItem.AbsoluteUri)
The Visible of the Attachment Card is
frmAttachDemo.Mode=FormMode.Edit
and the Visible of the Gallery
frmAttachDemo.Mode=FormMode.View
and that is about the sum of it.
I have found it very useful in my SharePoint Integrated forms, (which are very basic user interfaces) that now allow one “double click” on the SharePoint item to open the form in View mode and then a further click to launch the form. This makes reviewing large numbers of daily submitted PDF and image forms much quicker.
Option 2 - Gallery with Images
If you have pictures in your attachments, you can view thumbnails of these in a gallery and then open the relevant item by simply selecting it. In the example below, the three attachment pictures are displayed in a horizontal gallery below the attachment control
As in the example above the Items of the Gallery are
LookUp(
TestFields,
ID = galTest.Selected.ID
).Attachments
The Image of the Image control is
ThisItem.Value
The OnSelect of the image is
Launch(ThisItem.AbsoluteUri)
Option 3 - HTML Control with Links
In the example below, the HTML Text box is inside the Attachment Control. It does not need to be, but may assist with placement and scrolling.
All items shown are hyperlinks and open the relevant attachments directly. The HtmlText of the box is
Concat(
LookUp(
TestFields,
ID = 1
).Attachments,
"<p><b><a href= '" & AbsoluteUri & "'>" & DisplayName & "</a></b></p>"
)
I hope this gives you some thought on the flexibility of Attachment controls and their usage.