I was looking into generate a report template that would allow a user to have a list box with several choice the user could select and then once the report is finalized the selected item would be displayed in the report. I know the User Dialog Box supports a feature like this but I was wondering if there was a way to add this to the .*TDR file.
The closest thing we have that actually resides in the REPORT layout is a table with one or more columns of type "Text list". You could configure the first column with field names and leave the second column blank for the user to type in field values. Then all the user would have to know how to do is double-click the table object and double-click the second column in the configuration list. The problem is that the field names would not be visible when the user has the field value list to type in, so that's... awkward.
Another thought that comes to mind is that each REPORT layout and/or each REPORT sheet can have a custom script of command run every time REPORT is refreshed-- you could use that callback to launch a SUDialog, and the SUDialog could provide a nicer field entering environment, but write those values to the REPORT table Text list column for integrated display and storage. This would be work, but the user experience could be quite good.
Actually, we could go old-school and use a Text Object. You could pre-enter the field names with a ":" and a TAB character after each one, followed by a line feed. Then the user would just need to double-click the Text Object and enter in the field value next to each field name and hit <OK>. This would be WAY simpler, and might be sufficient for your purposes. The Text Object has some quirks, but I just checked that it still works fine in DIAdem 2021 SP1.
Principal Technical Support Engineer
Thanks for the ideas Brad,
I think the last solution may be the easiest to implement but I an still trying to visualize it implementation.
So adding a text object to the report then adding a few items for a list in the way you described could look like this;
So how would the end user then select only one of the items in the list? Would they delete the unneeded item by clicking on the text object and manually deleting the n/a items?