cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
agent3154
Level: Powered On

Adding More Options To Choice Column In The PowerApp (User's Input)

Hi,

     I have a choice column that can also accept user's input in the powerapp.

If(Not IsBlank(DataCardValue3.Selected), DataCardValue3.Selected,{Value: DataCardValue3.SearchText, '@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference"})

   However, unlike sharepoint, where you can see user's custom input in the choice options the next time you create an new item, you can only see the pre-configured options in the powerapp .  So I was wondering if there is anyway that can achieve the same thing in the powerapp. 

   I was looking for pnp powershell, (put in the azure function, connect to the flow, so the choice option will be expanding as the user enters more value). However, I did not see any way of acheiving this as well.

    Is there any workaround for this issue? Thank you for your time! Any help would be greatly appreciated!

 

2 ACCEPTED SOLUTIONS

Accepted Solutions
Super User
Super User

Re: Adding More Options To Choice Column In The PowerApp (User's Input)

Hi agent3154,

 

I'm not aware of any easy way to edit choice columns in SPO, even if you had to use the SharePoint REST API.

It might very well be possible, but it sounds like quite a bit of overhead and complexity.

 

This doesn't answer your question directly, but if you don't come right with the API and if your users aren't interacting with the list directly (i.e. only via your app), then I'd suggest using a plain text column to save the data but create a separate lookup list with your dropdown options for PowerApps to lookup and control the input. 

 

You can then show the options in your control and add/remove user entries like any other list.

 

[Edit]

I forgot to add that I sometimes do this a different way in my own apps  

I get similar results using the same plain text data column in my list (no lookup list or column), an input text field, a listbox containing Distinct values from the column, and some visibility and reset  variables.  I basically build my own 'dropdown/lookup/text input' - if you're interested in this approach let me know and I'll post the details.

 

Hope this helps,


RT  

 

View solution in original post

agent3154
Level: Powered On

Re: Adding More Options To Choice Column In The PowerApp (User's Input)

hi, @RusselThomas

     Thank you for your suggestion! I actually figured it by using the method you metioned. 

     For people who are having the same issue, this is what I did:

 

1. Create a new sharepoint list ( let's call it ChoiceList),  with a single column.

2. Create edit form for the orignial list. For the column that you want to acheive "fill-in options", set the data type to single line of text. 

3. Replace the generated dataValueCard with a ComboBox, set its item property to

'ChoiceList'.columnName

, and dataCard's update property to

 

If(Not IsBlank(ComboBox.Selected), ComboBox.Selected.columnName,ComboBox.SearchText)

4. Create another edit form for the ChoiceList, set its default to 

If(Not IsBlank(ComboBox.Selected), ComboBox.Selected.Title,ComboBox.SearchText)

 

5. lastly, submit both forms in the powerapp, when submitting the form for the ChoiceList, change the OnSelect to

If(IsBlank(LookUp('ChoiceList',DataCardValueOfTheChoiceListColumn.Text in ColumnName)),SubmitForm(ChoiceListForm))

This will prevent dupilicate values.

 

This solution works fine, but I am also interested on your approach. If you got some time to show me the details that would be great! 

Thanks again for the help!

 

  

 

View solution in original post

5 REPLIES 5
Super User
Super User

Re: Adding More Options To Choice Column In The PowerApp (User's Input)

Hi agent3154,

 

I'm not aware of any easy way to edit choice columns in SPO, even if you had to use the SharePoint REST API.

It might very well be possible, but it sounds like quite a bit of overhead and complexity.

 

This doesn't answer your question directly, but if you don't come right with the API and if your users aren't interacting with the list directly (i.e. only via your app), then I'd suggest using a plain text column to save the data but create a separate lookup list with your dropdown options for PowerApps to lookup and control the input. 

 

You can then show the options in your control and add/remove user entries like any other list.

 

[Edit]

I forgot to add that I sometimes do this a different way in my own apps  

I get similar results using the same plain text data column in my list (no lookup list or column), an input text field, a listbox containing Distinct values from the column, and some visibility and reset  variables.  I basically build my own 'dropdown/lookup/text input' - if you're interested in this approach let me know and I'll post the details.

 

Hope this helps,


RT  

 

View solution in original post

Community Support Team
Community Support Team

Re: Adding More Options To Choice Column In The PowerApp (User's Input)

I think here you are talking about the Fill-in Choices field in SharePoint?

This is currently not supported, we have an idea submitted on this already:

SharePoint Choice - Fill in option

 

A workable way to submit custom Input is the methods you posted, but currently based on what I know, there is no option available to have PowerApps display those "Fill-in" options automatically.

The Choices() function could only obtain the pre-defined choice values.

 

Regards,

Michael

Community Support Team _ Michael Shao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
agent3154
Level: Powered On

Re: Adding More Options To Choice Column In The PowerApp (User's Input)

hi, @RusselThomas

     Thank you for your suggestion! I actually figured it by using the method you metioned. 

     For people who are having the same issue, this is what I did:

 

1. Create a new sharepoint list ( let's call it ChoiceList),  with a single column.

2. Create edit form for the orignial list. For the column that you want to acheive "fill-in options", set the data type to single line of text. 

3. Replace the generated dataValueCard with a ComboBox, set its item property to

'ChoiceList'.columnName

, and dataCard's update property to

 

If(Not IsBlank(ComboBox.Selected), ComboBox.Selected.columnName,ComboBox.SearchText)

4. Create another edit form for the ChoiceList, set its default to 

If(Not IsBlank(ComboBox.Selected), ComboBox.Selected.Title,ComboBox.SearchText)

 

5. lastly, submit both forms in the powerapp, when submitting the form for the ChoiceList, change the OnSelect to

If(IsBlank(LookUp('ChoiceList',DataCardValueOfTheChoiceListColumn.Text in ColumnName)),SubmitForm(ChoiceListForm))

This will prevent dupilicate values.

 

This solution works fine, but I am also interested on your approach. If you got some time to show me the details that would be great! 

Thanks again for the help!

 

  

 

View solution in original post

agent3154
Level: Powered On

Re: Adding More Options To Choice Column In The PowerApp (User's Input)

hi, @v-micsh-msft,

    Thanks for the information! I am looking foward for this to be implemented soon.

arichards
Level: Powered On

Re: Adding More Options To Choice Column In The PowerApp (User's Input)

@agent3154 

 

I am not able to set the update to you formula as the second half of step 3.  it gives me an error every time.  Also I do not understand step 4.   Do i need to add another screen, and forms donot have a default property.

Helpful resources

Announcements
thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

sixthImage

Power Platform World Tour

Find out where you can attend!

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

fifthimage

Microsoft Learn

Learn how to build the business apps that you need.

Top Kudoed Authors (Last 30 Days)
Users online (6,145)