You’re running into two separate Power Apps behaviors at the same time, which is why this feels confusing:
-
ComboBox row limits / delegation
-
Distinct() changing the shape of your data
Once you separate those, the fix is actually simple.
1️⃣ Why the ComboBox only shows ~800 records
This part is expected.
Even though your data source has 2000+ rows, ComboBox controls are non-delegable by design for many scenarios. Power Apps will only bring back the first chunk of records (often ~500–2000 depending on settings and connector), and then it applies client-side filtering/search.
So this formula:
Items = DemoForm
will never reliably surface all 2000+ values in a ComboBox, especially when search is involved.
This is not something you can “turn off”.
2️⃣ Why your Distinct() formula breaks the Gallery
This is the more important issue.
Your formula:
Sort(
Distinct(
Filter(DemoForm, StartsWith(Title, Self.SearchText)),
Title
),
Value
)
does exactly what you told it to do:
-
Distinct() collapses multiple rows into ONE row per Title
-
The result is a single-column table called Value
-
When you select an item, ComboBox.Selected is not a record from DemoForm anymore
-
So the gallery can only ever show one row, because the original records are gone
This is expected behavior.
Distinct() removes row context — you can’t use it if you want all matching records later.
3️⃣ The correct pattern (this is the key)
🔑 Principle
You should NOT bind the gallery directly to ComboBox.Selected.
4️⃣ Correct working solution
ComboBox Items
Use Distinct() only here to improve performance and usability:
Sort(
Distinct(
Filter(
DemoForm,
StartsWith(Title, ComboBoxCanvas2.SearchText)
),
Title
),
Result
)
Note: depending on your Power Apps version, the column name may be Result or Value.
Set:
ComboBoxCanvas2.Value = "Result"
Gallery Items (THIS is the fix)
Instead of:
Gallery.Items = ComboBoxCanvas2.Selected
Use:
Filter(
DemoForm,
Title = ComboBoxCanvas2.Selected.Result
)
Now:
5️⃣ Why this works
| Control |
Purpose |
| ComboBox |
Pick a distinct Title value |
| Gallery |
Show all records matching that Title |
Distinct() |
Used only for selection, not data display |
This is the standard Power Apps pattern for large datasets with duplicate values.
6️⃣ Important note about delegation
Even with this fix:
But for ~2000 rows, this pattern is perfectly acceptable.
✅ Final summary
-
Your issue is not the ComboBox limit alone
-
Distinct() is removing the row context
-
The gallery must filter the original datasource
-
Never bind a gallery directly to ComboBox.Selected when using Distinct()
✅ One-line fix
Gallery.Items =
Filter(
DemoForm,
Title = ComboBoxCanvas2.Selected.Result
)
Once you do this, you’ll see all items with the same Title, exactly as expected.