cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ejules
Advocate I
Advocate I

How to set a pre-populated default value of a Dropdown in EditScreen for a SharePoint Choice field?

Hi Everybody,

 

I'm currently trying to simply set the Default value of a Dropdown in an Edit Form (Form is opened and the Dropdown should have a pre-selection). Even though I did extensive research I couldn't find a solution for a Sharepoint choice field (as I don't know how to find the ID's of those choices and how to reference it?

I have the DropDown with the Selections from Sharepoint ("Inland", "Ausland") and would like to be the Default for a blank form to be "Inland".

  PowerApps1.JPGPowerApps2.JPG

 

Thank you so much for your help.

 

Regards,

ejules

76 REPLIES 76
sruble
Regular Visitor

Sorry - I need a bit more guidance.  Ultimately, I just want to hard code the value "Documentation" as the default for a Choice field.

 

How and where do I create the table in the PowerApp and make it a global variable?  I'm assuming the table will just be a single row as in the following:

 

ID     Name

1      Documentation

 

Thanks,

Scott


@sruble wrote:

Sorry - I need a bit more guidance.  Ultimately, I just want to hard code the value "Documentation" as the default for a Choice field.

 

How and where do I create the table in the PowerApp?  I'm assuming this will just be a single row.

 

ID


Two things I've found of note:

  1. Apparently any value for Default must be a value within the table being used to populate the dropdown, otherwise it will be blank or choose the top record value.
  2. Whatever you type into the Default box must equate to text. Actually I think your real issue is the Parent.Default is equating to a record in the table

In other words, if the Choice field contains a record where it equals "Documentation", you can actually just type "Documentation" (with quotes) in the Default field and be done. If your table does NOT contain a record(row) in the Choice column with "Documentation", it will show blank or the top record value, can't remember for sure. If you wish to make the Default for the dropdown something that is not contained in the table it can be done, just let me know a little more. I have not worked with Sharepoint within PowerApps, so if it is a problem with the data not being loaded fast enough (I think someone mentioned this), I can help with that too. For now, try putting "Documentation" in the Default field and see if that's all you need (assuming "Documentation" is in the table somewhere)

Sienna
Resident Rockstar
Resident Rockstar

I don't think it matter where you create the table for the dorpdown. You can use just simple excel table or I'm sure even SP. You can even use collections by adding for example this into your screen OnStart or OnVisible property

 

Collect(Test,{ID:1,Name: "Sellection1"},{ID:2,Name: "Sellection2"})

 

then set the dropdown for

Items: Test

and

Value: Name

and

Default for what I wrote in previous answer.

I am used to use excel for the items contents so it is up to you

Sure, this works just fine. The only problem in this particular case is (at least for me) that I would like to use the values of SharePoint for the entries.

When using your suggested method, we define these values a second time inside PowerApp and have to remind that everytime the Sharepoint column definition changes

Sienna
Resident Rockstar
Resident Rockstar

I haven't work with Share point before (and hopefully never will) but I'm pretty sure it is exactly the same as with collection used in dropdown. It isn't very clear what exactly you are trying to accomplish or where exactly you get into a problem so if you want more help then please give us more informations (pictures) or described the situation on example


@Sienna wrote:

I don't think it matter where you create the table for the dorpdown. You can use just simple excel table or I'm sure even SP. You can even use collections by adding for example this into your screen OnStart or OnVisible property

 

Collect(Test,{ID:1,Name: "Sellection1"},{ID:2,Name: "Sellection2"})

 

then set the dropdown for

Items: Test

and

Value: Name

and

Default for what I wrote in previous answer.

I am used to use excel for the items contents so it is up to you



Sorry @sruble, I replied/quoted you with someone else's answer! What @Sienna has here is exactly what you need


@AlexN wrote:

Sure, this works just fine. The only problem in this particular case is (at least for me) that I would like to use the values of SharePoint for the entries.

When using your suggested method, we define these values a second time inside PowerApp and have to remind that everytime the Sharepoint column definition changes


My first reply to @sruble was intended for you, sorry. Basically, if you tie the dropdown to a column and set the 'Default' field manually, it must match a value already in that column; if it does not match any record, it will default to the first record, or as I've seen in some instances, show blank and give the appearance that the dropdown values are not populated until you click it(when the screen loads the dropdown absolutely should know what values are selectable before you ever click on it...I'm wondering if you failed to set the 'Value' field in Advanced properties and it's just not sure which column you want to select from). All I did here was create a list in SharePoint (screenshot1), create a dropdown in PowerApps with 'Items' and 'Value' set(screenshot 2). The dropdown automatically selected the first record for Column2 even though the 'Default' is set to "1" (which it can't find in the records under Column2). I can blank out 'Default' or set it to something not in my list and it will default to the first value in Column2 of my list. I can set 'Default' to "Col2_Entry3" and that's what the dropdown will default to because it's actually in the list already.

SharePoint listSharePoint listPowerAppsPowerApps


 

@strategery, first: very good post. Thanks for the detailed explanation.

 

This showed me, that we are talking about slightly different concepts. I was talking about the PowerApp Sharepoint forms introduced last month (https://docs.microsoft.com/en-us/powerapps/customize-list-form). This directly takes entries, default and so from your sharepoint list (so the dropdowns are not populated with entries from another list, they are populated with the dropdown entries defined in Sharepoint for that field).

 

And these values are somehow not read, until you click on the dropdown. When you do that, the app immediately recognizes the desired default value and sets the value accordingly. Even if you don't select a dropdown value but just close it.

 

I have a partly functioning workaround, where I populate a collection with the dropdown values of the field in the OnVisible() trigger of the main screen

ClearCollect(BIDropCollect;Distinct('Sharepoint List';BI))

and then have the "Default" value of the DatacardValue control (of type "Edit Lookup") inside the DataCard control set to the first entry of that collection:

If(IsBlank(ThisItem.BI);First(BIDropCollect).Result;Parent.Default)

But as I said, this is only working partly, because on the first start of the app the lookup values are not populated until you click on the dropdown as I wrote before. On succeeded app launches the app somehow remembered the dropdown values and therefor the workaround works.

@AlexNInteresting...I will have to look more into this feature. I take the ClearCollect one step further with my dropdowns. Rather than having a "Default" value in the list or setting a "Default" value using this new feature you describe, you might try my method. Basically, I do a ClearCollect exactly as you do, except I create the collection with a default record up front:

 

ClearCollect(BIDropCollect,{BI:"Default Value"},Distinct('Sharepoint List',BI))

This puts "Default Value" in your first record, then all records from your "Distinct" function.

This should help you because now your collection will never be blank. It will at least contain "Default Value". Perhaps the dropdown would now show the "Default Value" and populate the others when you click it the first time? I'm not familiar with the feature you're using but I would try this. Let me know how it works!

Is it just me or it feels WAY too complex of hacks and workarounds to get something simple as this done? Why won't Powerapps just let me force a default value in choice?

Helpful resources

Announcements
October Events

Mark Your Calendars

So many events that are happening this month - don't miss out!

Ignite 2022

WHAT’S NEXT AT MICROSOFT IGNITE 2022

Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.

Power Apps Africa Challenge 2022

Power Apps Africa Challenge

Your chance to join an engaging competition of Power Platform enthusiasts.

Users online (3,858)