I want to know if it is possible, in an entry form, for a user to select items in an enumlist and then present their selections in another list which would allow them to add a number(rank or weight) for each selected item. I am building a Tabbed Volunteer Application entry form. I am hoping to allow them to select the Job Types on one tab and then rank their selections on another tab. All before the form is Saved.
I have a Volulteer Application form. It includes a dropdown enumlist of Job Types. I want the user to select the jobs they are willing to perform. After selecting the Job Types, but before saving the application form, I want to allow them to rank their selections with numbers. I would like to match volunteers to their favorite choice when possible.
I have been able to display the user selected Job Types in a new tab, but cannot figure out how to allow the user to add a number to each selection
The only solution that comes to mind is this:
First you pick the items from a Enumlist column. Then you put each of them into enum colums in rated order after that. They can be named "1", "2", "3", "4", "5" etc.... An these are Enum columns that choses values from the [_THISROW].[Enumlist]. And that gives the rating. Then save. You need a fixed maximum number of rating colums (eg. 10), but the user can choose to use only the first 3 if he wants to get a 1-3 rating. Or SHOWIF based on numbers of selection in the enumlist. Pick 4, and only show rating columns 1-4.
Thanks for the suggestion. I may give your suggestion a try. As time allows, I am going to attempt to use an InLine form to see if it can be configured to perform my ranking task. I have not been able to accomplish this so far. I am not a programmer and have issues with getting expressions to work correctly. I realize I am pushing the limits of AppSheet and my own abilities. Thanks to all who are willing to share their experience and help us with limited abilities.
I will be working on my project as I can. So, I am not sure when I will get back to this issue.
Best of luck. Note that you can aslo make the already chosen items not to show in the next enum-rank column if you filter it out in your SELECT expression. So not possible to chose the same item for rank 3 and 4.
I have added Three ranking columns to my table. However, I have not been able to hide already ranked items from the list. I have all three Ranking Columns on the same form view. All three enum columns display the same Jobs. If I select the same Job twice an "Invalid value" error displays. After ranking all three Jobs, if I go back to each drop down the list is correctly hiding previous rankings. Hope this makes sense.
I have not been able to hide the already ranked items. A Select statement errors out with invalid inputs. I am using AppSheet Tables and not Sheets. My Ranking columns are on the same form and the selection is not saved after each selection. So I am working with this row and unsaved data. I did notice that if I rank, say three choices, and then return to either dropdown two or three, at that point it does not list the previous ranked item.
Hi @BobSig
Here is another suggestion:
Table structure
1) table REQUEST
- column [id], type Text, property SHOW: OFF, initial value expression:
UNIQUEID()
- column [enl_job], type Enumlist, base type Ref, source table JOB, display name "Jobs", valid_if expression:
JOB[id]
2) table REQUEST_JOB
- column [id] ==> same as for table REQUEST
- column [REQUEST], type Ref, source table REQUEST, property "is a part of" ticked.
- column [job], type Enum, base type Ref, source table JOB, valid_if expression:
JOB[id]
- column [rank], type Number, Minimum value: 0
Set of actions
1) action "A_1", for a record of this table "REQUEST", Do this:"Data: add a new row to another table using values from this row", table to add to: "REQUEST_JOB", set these columns:
[REQUEST] ==> [_THISROW]
[job] ==> INDEX([enl_job],1)
[rank] ==> 1
2) action "A_2", for a record of this table "REQUEST", Do this:"Data: add a new row to another table using values from this row", table to add to: "REQUEST_JOB", set these columns:
[REQUEST] ==> [_THISROW]
[job] ==> INDEX([enl_job],2)
[rank] ==> 2
3) ==>repeat for the maximum number of jobs you could allow <==
4) action "B_goto_request_detail", for a record of this table "REQUEST", Do this:"App: go to anothe view within this app", Target:
LINKTOFILTEREDVIEW("REQUEST_JOB", ([REQUEST] = [_THISROW].[id]))
5) action "A_ | add jobs", for "REQUEST", Do this: "Grouped: execute a sequence of actions"
Actions: add A_1, A_2, an so on until, let's say, A_5.
Add, at last position, the action "B_goto_request_detail"
Final touch: the view settings
Go to View pane, select REQUEST_Form, go the Behavior section, and select the grouped action:
It should work, let us know!
User | Count |
---|---|
16 | |
8 | |
6 | |
3 | |
2 |