Hello,
I am trying to figure out the best way of giving the users possibilities to choose 5 different values using 5 drop-down boxes, and then display whatever choices made, in a SP Column of type Choice. The 5 drop-down boxes would also fetch their Items from the Choice column. This is a requirement from user, but I am not sure it can be solved in this manner.
Any ideas?
Scenario
Cheers,
Daniel
Solved! Go to Solution.
I will be sincere here. This approuch will be so problematic for You in the future.
You will need to retrieve one record at a time from the choice column table, and to do that will be very tricky
Here is what I will do to sort out Your issue :
I would create a support list called Choice_List or something and apply all choices in a single text column, all 50
I would then create 5 columns in Your main list, Choice 1 to Choice 5, all Single Text.
Then I would create 5 dropdowns or choose to create a form that automatically will create 5 DataCards I will Switch DataCards to Dropdowns and Link them to Choice List 🙂
That will give You an easy way to extend the Choice List and, at the same add, remove and update any Choices from the list. Also, by doing some, it will be easy to retrieve that data back to the Default property just by Parent.Default
Your users will have the same experience, but You will have less hassle, and it will be easier to extend this or use the Choices for some business logic later one.
just to understand this better:
Do You have 1 Choice column with 5 choices?
and why You want to have 5 dropdowns?
Is not better to use one dropdown and have a user to pick or use Radio control with 5 options to pick?
Hey SebS,
Thanks for replying to this. Good questions.
1. Yes, 1 Choice column bit It will contain 50+ values to choose from
2. The 5 drop downs is a requirment from user so that they can state several scenarios and connected to those are gonna be some account suggestions (not presented this yet in here). So we kind of need to have the 5 choices seperated from each other to later determine which accounts they belong to.
Hope I was clear enough. It is important that there are 5 dropdowns, eventhough they use the same source choices.
Ok that's sounds Fun 🙂
From Start SharePoint List Choice Column make sure it set up to Multiple choices
now power apps
5 dropdowns in Item Property place code below TestApp2 need to be replace with name of You Table
Choices(TestApp2.Typ)
Now to the Upload
To apply multiple choice to Choose column from multiple Dropdowns You need to create a Table than patch that Table to the Choice Column 🙂
Here is how to do it:
Create a button and in OnSelect property apply this code same as above change TestApp2 to You SharePoint Table Name:
Set(
varChoice,
Table(
{Value: Dropdown1.Selected.Value},
{Value: Dropdown1_1.Selected.Value},
{Value: Dropdown1_2.Selected.Value},
{Value: Dropdown1_3.Selected.Value},
{Value: Dropdown1_4.Selected.Value}
)
);
Patch(
TestApp2,
Defaults(TestApp2),
{
Title: "Test",
Typ: varChoice
}
)
I set a variable and create a table what collecting all choices from dropdowns than i patch it to Your database keep in mind Title field is required so you need to come up with something
Here is the outcome of two tests in SharePoint the colour circles are your choices:
Hope this helps
Nice, thanks!
I got it to work. I should mention that it is incorporated in a Form (Mode: New), so I am patching the table to a already created record. Now, If I want to edit or view the record in the Form, then the 5 drop-downs do not retain the value that were chosen upon Save earlier. Reason being their Default values are currently blank. How would I go about trying to fetch their Default values in such a solution?
Perhaps pulling the first value from the Typ column to the first drop-down, second value to the second drop-down, and so on...?
I will be sincere here. This approuch will be so problematic for You in the future.
You will need to retrieve one record at a time from the choice column table, and to do that will be very tricky
Here is what I will do to sort out Your issue :
I would create a support list called Choice_List or something and apply all choices in a single text column, all 50
I would then create 5 columns in Your main list, Choice 1 to Choice 5, all Single Text.
Then I would create 5 dropdowns or choose to create a form that automatically will create 5 DataCards I will Switch DataCards to Dropdowns and Link them to Choice List 🙂
That will give You an easy way to extend the Choice List and, at the same add, remove and update any Choices from the list. Also, by doing some, it will be easy to retrieve that data back to the Default property just by Parent.Default
Your users will have the same experience, but You will have less hassle, and it will be easier to extend this or use the Choices for some business logic later one.
I think you are absolutely right!
I will try this approach instead, and as the user experience will be the same, it's a win win 🙂
Thanks a lot for "rubber-ducking" this with me. Thanks a million!
Remember later to retrieve anything from the Choice column with multi choices. You will need to contact a lot, set arrays or Split refer to table there that will destroy Your flame if things go in wrong way stay away from Complex type columns that's my Advice 🙂