web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / ComboBox DefaultSelect...
Power Apps
Answered

ComboBox DefaultSelectedItems from a Form DataCardValue

(0) ShareShare
ReportReport
Posted on by 70

Hello,

 

I can't find the answer online from my searches on how to complete this function. I have created a multi-select combobox within a form and it works on the edit / add new form screen when saving to the database but for the edit screen this only works when the field is already empty.

 

If there is previous data stored in the datacardvalue from the multi-select such as Option 1 / Option 3 / Option 5 I am trying to get these set as the default selected item on the form edit screen so it doesn't blank out the data upon saving from the edit screen.

 

DataCard Update function which saves the selected items from the multi-select combobox.

 

Left(Concat(DataCardComboBox10.SelectedItems, Name & " / "), Len(Concat(DataCardComboBox10.SelectedItems, Name & " / ")) - 2)

 

 

I think I need to get the text string back into a table for the combo box to select the previous items as default, but any instructions or examples I found only haven't worked for me.

 

Categories:
  • RandyHayes Profile Picture
    76,299 Super User 2024 Season 1 on at

    @JP86 

    Consider the following...

    Change the Update property to the following (just a little cleaner):

    With({_name: Concat(DataCardComboBox10.SelectedItems, Name & " / ")},
     Left(_name, Len(_name) - 2)
    )

    Then change the DefaultSelectedItems property of your Combobox to the following:

    ForAll(
     Filter(Split(Parent.Default, " / "), !IsBlank(Result)),
     {Name: Result}
    )

     

    NOW...important to note, Combobox default selections are a table of records that MATCH the record schema of the Items property of the Combobox control.  So, if your Items property for the combobox contains more columns than Name, then you will need to include those columns as well in order to match.

     

    I hope this is helpful for you.

  • JP86 Profile Picture
    70 on at

    Hi @RandyHayes 

     

    Thanks for the information. I updated the update function to match what you provided. I added the 2nd function to the defaultselecteditems but the combobox on the edit screen doesn't show the values from datacardvalue10.

     

    Does this have anything to do with the description database column being named Name? This is the function i previously tried in the defaultselecteditems. It doesn't give an error but it also doesn't fill the combobox with the previously selected items.

    RenameColumns(Split(Parent.Default, " / "), "Result", "Name")

     

  • RandyHayes Profile Picture
    76,299 Super User 2024 Season 1 on at

    @JP86 

    What is the items property of your combobox?  As I mentioned to get default items selected, they MUST match the record schema of the Items property. 

    Your formula will not work if it does not match the Items schema.  

    The name "Name" is not relevant.

  • JP86 Profile Picture
    70 on at

    @RandyHayes , the combobox item properly is set to 'Job Descriptions' which is a database that contains the options.

     

    With your defaultselecteditems function, I updated the job descriptions to make sure everything will match the item schema as well. Also, taking a look and trying to troubleshoot as to why it isn't working, with the ForAll function in the defaultselecteditems, it shows Parent.Default = Red / Black  (Data type: text). So it is getting the required information but the combo box isn't getting populated.

  • JP86 Profile Picture
    70 on at

    @RandyHayes 

     

    The ForAll function you provided worked once for the combobox, but for some reason this breaks the whole application. The application no longer refreshes when an item is selected in the gallery and I can't switch between view or edit on the form. Any ideas? 

  • JP86 Profile Picture
    70 on at

    Hi @RandyHayes, Another day, another try. Powerapps is still very new to me but I don't want to give up on this function for the application.

     

    I created a new screen and made a combobox which is connected to the 'Job Description' database. This database has one column and each row has the list of job descriptions.

     

    I created a Label5 which has the text

    "Field Services,TAB Services"

     

    the combo box defaultselecteditems still doesn't select these items using

    ForAll(
     Filter(Split(Label5.Text, ","), !IsBlank(Result)),
     {Name: Result}
    )

     

    Screenshot 2020-12-20 100426.png

     

  • Verified answer
    RandyHayes Profile Picture
    76,299 Super User 2024 Season 1 on at

    @JP86 

    So, to recap - the key with Comboboxes is that you have to match the schemas.  

    Originally you had 'Job Descriptions' as your Items property.  Now we are restricting the just the Name column - this is what is causing issues elsewhere, because you obviously had relied on other columns in your schema...and now they are not there.

    When you deal with the whole record like that (since you are using just a datasource for your Items, the whole record of each item is present), you have to take a couple extra steps.

    First, the Items property of your Combobox remains as 'Job Descriptions'

    Now, the DefaultSelectedItems property changes to:

    ForAll(
     Filter(Split(Parent.Default, " / "), !IsBlank(Result)),
     LookUp('Job Descriptions', Name=Result)
    )

     

    NOW...the above formula is based on your original that you had " / " as a separator.  I am not sure if you have changed to a comma separator as your last formula, that appeared to change to ",".

     

    Anyway, if your Update property still has the " / " for the separator, then go with the above, otherwise, adjust accordingly.

     

    You will notice in the above formula, the ForAll function will return a table.  That table will have a FULL looked up record from Job Descriptions based on a match to the Name column being a result of the split.  This WILL match the Items property properly and you should get default selected items from it.

     

    Let's see where that leads you.

     

     

     

  • JP86 Profile Picture
    70 on at

    That worked wonders. Thanks for your time and help with this one. I would have never figured this one out on my own.

     

    When you mention the whole record for each item is present, does this mean each column for each row is present?

  • RandyHayes Profile Picture
    76,299 Super User 2024 Season 1 on at

    @JP86 

    No problem!

     

    Yes, if you specify just a datasource as the Items property (for any control), then all of the columns of each record will be present.

     

    If you use a Function like Choices - then there will only be a table with a single column called Value.  Therefore your will only be able to reference yourCombobox.Selected.Value

     

    If you use a Function like Distinct - then there will only be a table with a single column called Result  Therefore your will only be able to reference yourCombobox.Selected.Result

     

    If you use a Function like ShowColumns - then there will be a table with only the columns you specify.  Therefore your will only be able to reference yourCombobox.Selected.anyColumnsYouSpecifyInTheShowColumns

     

    If you use a Function like AddColumns - then there will be a table with all the columns of your source, plus whatever columns you add.  Therefore your will only be able to reference yourCombobox.Selected.anyRecordColumnPlusAnyAddedColumn

     

    If you use a Function like DropColumn - then there will be a table with all of the columns of your source, minus the columns you specify.  Therefore your will only be able to reference yourCombobox.Selected.anyRecordColumnMinusSpecifiedColumnsInTheDropColumns

     

    If you use a Function like ForAll - then there will be a table with whatever you want.  This one, the sky is the limit...and the more powerful function too.

     

    Also, a shortcut to Show only One Column is : yourDataSource.aColumn  then only aColumn will be present in the resultant table.  This is equivalent to ShowColumns(yourDataSource, "aColumn")

     

    This is all part of the power of shaping data in PowerApps.

    Be mindful though that many of the above functions are not delegable, so if record limits are an issue then simply using the full datasource or a pre-narrowed set of results is needed.

     

    I hope that is clear and helpful for you.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Leaderboard > Power Apps

#1
11manish Profile Picture

11manish 342 Super User 2026 Season 2

#2
M Bilal Khan Profile Picture

M Bilal Khan 283

#3
Mohsin Ali Profile Picture

Mohsin Ali 221

Last 30 days Overall leaderboard