Hey!
I could not figure out the next task on my own, so I ask for advice from the community.
Question:
How to create an action from a table view using a multi-selection that will open a new form (a new row in another table) with a preset of the fields of this multi-selection?
Hey @raketa
Unfortunately there is no way to natively do this in appsheet.
You CAN create a system, however, that would implement this functionality in your app. But there is no turn-key solution to make this easy.
What you’d need to do is:
- Add a column to the table with the records you want to multi-select
- It’s only to hold a temporary flag, so hide it & make it a text
- Create an action to put some temporary flag value into the new column
- Create a corresponding action to clear the flag
- Create a slice to pull out the records that have been flagged
- Create a Ref Action to clear the flag on all the records in that slice
- Inside the EnumList column that you’re trying to pre-fill: create an Initial Value formula something like the following:
Slice_Of_Flagged_Records[RecordID] - For the “Form Save Event” of the form view where you’re prefilling stuff; you’ll need to add in the ref action to clear all the flagged records.
- if you don’t do this, then the flags will remain after things have been used.
With all that in place, you’ll have:
- A button you can press that will “add the records to the list”
- When you open the form, the EnumList column will prefill with each record flagged.
- When you save the form, all the records will be cleared and removed from the slice.
Important Note
- This sort of interaction within an app is only good for a single-user style app.
If you tried to implement this with a multi-user app, you’d have all sorts of cross-contamination.
Good system- not sure if there’s a showstopper but it may be possible to use a number (1,2,3…) as the flag and loop through those flagged rows?
It could be worth considering approach in the different way.
Rather than open up the new form with preselected list, open up new form first and then let the user to select out ouf the list then fire the action to loop to add the selected items as child records.
[FAQ: add row per value in EnumList](https://community.appsheet.com/t/faq-add-row-per-value-in-enumlist/30953) Tips & Tricks ?
Add one row per value in an EnumList column list. Try the sample app! For this example, the table from which the row-addition process will be initiated is called Control Table. The table to which new rows will be added is called Target Table. Use your own names as you see fit. Note that they could even be the same table. Control Table must allow updates; Target Table must allow adds. Control Table must have at least two columns for this process: EnumList (type EnumList; a list of Enum values;…
Different approach, but it could bring the same result I believe.
Thank you all for your attention to my task, but I already know the above methods, I thought that there is another method that I do not know).
Everyone who responded is the top contributor to the community, and I really appreciate appsheet for that.