Introduction
ComboBox in Microsoft Power Apps is powerful but often tricky to configure correctly. Many common issues - like default values not working or data not saving to Microsoft SharePoint - are caused by simple schema mismatches. This article explains how to handle defaults, search, and data binding properly to build reliable apps.
In this article, you’ll learn how to properly configure a ComboBox and avoid common mistakes that can silently break your app.
1. Items vs DefaultSelectedItems
The most important rule:
Correct Example:
Items = [
{Title: "Choice1"},
{Title: "Choice2"}
]
DefaultSelectedItems = [
{Title: "Choice1"}
]
If you have SharePoint choice column then:
Items = Choices(Yourlistname.Component)
This returns records like:
{ Value: "Choice1" }
Then correct DefaultSelectedItems should be:
[{ Value: "Choice1" }]
Handling Default When Schemas Are Different (Visual Example)
Scenario
You have a master mapping table:
| Name | Choice | Code |
|---|
| A | Choice1 | 101 |
| B | Choice2 | 102 |
| C | Choice3 | 103 |
Your Setup
ComboBox (Choice Selector)
Items = MasterChoiceList
Schema of Items:
{
Name: "A",
Choice: "Choice1",
Code: 101
}
Another Dropdown (Name Selector)
Dropdown1.Items = ["A","B","C"]
Now, we want to dynamically set the default selected items in the choice dropdown based on the selected Name.
Wrong Approach
DefaultSelectedItems = [{Choice: Dropdown1.Selected.Value}]
Why this fails:
Items expects full record (Name, Choice, Code)
But you are only passing {Choice: "Choice1"}
Schema mismatch → may display / may NOT save
Correct Approach (Match Full Schema)
Filter(
MasterChoiceList,
Name = Dropdown1.Selected.Value
)
Returns full record:
{
Name: "A",
Choice: "Choice1",
Code: 101
}
Matches Items schema
Displays correctly
Saves correctly
2. DisplayFields and SearchFields
In a ComboBox control , DisplayFields and SearchFields play a critical role in defining how data is presented and searched.
This property determines which column(s) from the data source are shown in the dropdown.
DisplayFields = ["Title"]
Users will see values from the Title column.
This property defines which column(s) are used when users type to search in the ComboBox. (Note: You need to turn on IsSearchable = true)
SearchFields = ["Title"]
Users can search based on the Title column.
Using Multiple Search Fields:
You can improve user experience by allowing search across multiple columns:
SearchFields = ["Title", "Code", "Description"]
3. Selected vs SelectedItems
ComboBox1.Selected
Returns a string.
ComboBox1.SelectedItems
Returns table.
4. Delegation
If your data source is large, Use below:
Filter(List, StartsWith(Title, ComboBox1.SearchText))
Otherwise search breaks after 500 (in case of Dataverse)/2000(in case of SharePoint) records.
5. Reset Behaviour
Reset(ComboBox1)
Clears selection
Useful after form submit
In a ComboBox control, the onchange property is triggered whenever the user changes the selected value(s), removes an existing select values in case of multi-select.
This is useful when you want to reset another control whenever the value of this ComboBox changes.
Conclusion
In this article, we learned how to properly configure and use ComboBox in Power Apps, including default selection, search and display behavior, handling OnChange and reset, understanding delegation, and working with Selected vs SelectedItems.