Business requirement: Show ID field on the DispForm.aspx page
The ID field of a SharePoint list is not shown by default on the DispForm.aspx form page. This can be very annoying, especially in cases where an Issue Tracking list is used: most of the time business users want to see the ID for an Issue Tracking list item.
Solution: Create a shadow ID field
- Create a site column CopyID (Number, Number of decimal places: 0)
- Add the CopyID column to the site content type Issue.
- Create an Issue Tracking list.
- Open the site in which the Issue Tracking list is created with Microsoft Office SharePoint Designer.
- Start creating a new Workflow (File > New > Workflow) attached to the Issue Tracking list. Let the Workflow start automatically when a new Issue Tracking list item is created.
- Assign the value of the ID field to the CopyID field.
- Use the tool SharePoint Tips Utility Pack to change the rendering of the CopyId field on the form pages (for more information, see Hide list fields upon creation of a SharePoint list item): Show the CopyId field in the Display Form, but not in the New nor Edit Forms. Change the Field Name to ID.
Upon creation or editing a Issue Tracking list item, the ID field is not shown:
Upon displaying a Issue Tracking list item, the ID field is shown. In fact this ID field, is the previously named CopyId field, which receives the value automatically from the system ID field upon creation of a new Issue Tracking List item thanks to the previously created Workflow. We need to work with a shadow ID field, as it seems not possible to render the system ID field on the DispForm.aspx page, even not with the SharePoint Tips Utility Pack: it seems as if the properties to render it on a DispForm.aspx page don't work for the system ID field. That is why I've chosen here to use a shadow field.