Idea Summary
Multi-Column LOVs can return additional columns. Unfortunately if this feature is used to fill display-only-columns in Interactive Grids, a javascript error “Set value not allowed for field.” is raised and the column value remains unchanged.
As the additional values are dependent on the return value of the LOV there is no need to save these additional values (which by incident is the reason why they are “Display Only”). In that scenario I see no “security loophole” in setting these values in the grid.
Use Case / Motivation
One use case is that the user needs to assign a contact (a person) to some activity (or some other table). The LOV shows the name and other attributes of the contact, but only the ID of the assigned contact needs to be stored in a foreign key column of the dependent table, which is the source of the interactive grid. But for the user it is useful/necessary to see other attributes of the referenced table (contact), like phone number or e-mail-address - directly in the grid.
What workarounds are currently possible and what are their drawbacks?
- showing only one field of the referenced table, like “name”, is not enough
- not setting the columns “Display Only” is no option as ignoring changes to these columns would confuse users
- concatenating multiple columns as display value of the LOV is less structured and does not provide the ability to select the columns at run-time (sometimes all columns together would not fit on the screen and different users may have different preferences)
- separating data entry and display of full contact information (like a separate modal dialog) would defeat the purpose of the interactive grid to have editing and overview in one place
Suggestion
Please change the current behavior and make it either configurable or dependent on “Query Only” instead of “Display Only”.