I just placed an app to my portfolio.
In terms of enumlist, it is quite helpful to give options to app user for selection of multiple items, but sometime we find we need to control the list more dynamically.
There are bunch of tricks are available to manage such requirements. I put some of them into a single app and placed to Portfolio to my account.
There are other use cases, to control list of items dynamically based on the input into the entry of date to other column. However, on this sample app, I did concentrate on how to control the list of items/options dynamically, using 1) master table 2) usersettings and 3) hardcoding, inviting three different approaches.
Following texts are from the descriptions from sample app which is on my portfolio.
This app is prepared to share some tips and tricks for use cases of enumlist in Appsheet.
To generate the list for multi-selections, a simple workaround is to add the items into the “values” in column settings. However, it is kinda of “hardcoding” in program language, meaning, the list is static.
To make the list dynamic, in other words, end-users of the app is able to add the items and reused after that, is to make a quick master table to save the list items. Across this sample app, the dropdown list item for EnumList is stored in the central location, i.e. the master table. The app-users can work on this table directly to change, add and delete items. Additionally, using the additional columns, to control show/hide toggle for each item, and use as initial value etc can be controlled easily, in case we locate the list in a central location, i.e. master table.
Another trick is to involve Usersettings is another option to make the EnumList dynamic. Using usersettings is give the fully customized experiences to each app-user independently, to customise even enum list.
User can change the flavor of the app to their taste and on their own.
For this sample app, we placed 5 different enumlist column which works differently. Please pick up one which is most suitable with your use-case.
(1) EnumList with Init Val Hardcoded
For the initial value, kicking expression of LIST() to hardcode the initial list value items. Make sure the item must be matching with the option items.
(2) EnumList with Init Val Controlled by Master Table
On the EnumList master table, when we set the on/off selection to On, then it appears as part of list for selection. Additionally, on the master table, inital value yes or no boolean. Once it is set to Yes, as far as on off selection is set to On, the item to appear on the list and being selected on opening.
(3) EnumList Dynamic List based on Usersettings
Controlled by the Usersettings. The selected Items on the usersettings are applied samely to the table.
(4) EnumList with init value based on Usersettings
Twisting option (3) above, usersetting can be used to controll the initial values.