Support Article
Multiselect control does not display data in the table
SA-106896
Summary
A table refers to a data page on the Clipboard. The Multiselect control in the table refers to another data page in the Clipboard. The Multiselect control does not display the data in the table and only displays the label.
Error Messages
Not Applicable
Steps to Reproduce
- Create a table and provide a data page as the source to the table.
- Add a Multiselect control to one of the columns and provide a separate data page as the souce. At runtime, the Multiselect control displays only the label and not the data.
- Enable the Optimize code checkbox in the Layout Operations tab. Component mismatch error occurs at runtime.
Root Cause
Multiselect control is not supported in a repeating grid or a table. In a Modal dialog, the control renders in a non-template mode. However, the Multiselect control works only with a Template UI.
When a Multiselect control is used in a modal dialog or a table layout, it is not supported as per below explanation:
A table with the 'Optimize Code' option unchecked renders in a non-template mode. However, when 'Optimize Code' option is enabled, the table changes to the 'Read Only' mode and allows customization. However, the option to Add or Delete an item is not provided. Hence, the Multiselect control is not supported or does not work with a Non-template Table. The Multiselect control works only with the Template UI.
The difference in rendering between Templatized and Non-templatized controls is as below:
The Templatized control renders on the client side. On screen load, the server sends the metadata and the specific content is loaded.
In a Non-template control, the entire data is loaded on the server side and the result displays on the screen.
In the Multiselect control on the grid, the section that is loaded is non-template and the Multiselect control is a Templatized control.
On screen load, the section loads the entire script with data, whereas the Multiselect control only loads the metadata. On second refresh, the data related to the previously loaded metadata, is loaded. As a result, the Template control is not loaded in the non-template section.
The Advanced Parameter sections render as a non-template and cause the new controls such as Multiselect not to render.
Resolution
Replace the Multiselect control column with a section containing an autocomplete or a dropdown, and a repeating dynamic layout.
The autocomplete contains a list as the source to load the items.
The repeating dynamic layout contains another list which is empty. This list is loaded on select of the items in the autocomplete. The selected item is removed from the list which is sourced to the autocomplete.
Published April 18, 2020 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.