Visual Data Alerts in Power Apps Galleries
Apply colours, emojis, and conditional formatting to highlight important data in your gallery rows.
Conditional formatting turns a plain gallery into a live dashboard. By tying colours and symbols to your data, you let users instantly spot overdue tasks, high-priority items, or completed milestones — no digging required. This guide walks through practical examples using a project‑task tracker, with tips to avoid common pitfalls.
Scenario: Project Task Dashboard
Imagine a team that tracks progress on a SharePoint list called ProjectTasks. The list has these columns:
- Title – default single line of text
- AssignedTo – Person or group
- DueDate – Date and time
- TaskStatus – Choice (Not Started, In Progress, On Hold, Completed, Overdue)
- Priority – Choice (Low, Medium, High, Critical)
- Progress – Number (percentage 0‑100)
A gallery in Power Apps displays these tasks, and we want to highlight status, priority, overdue items, and progress using colour and emojis.
Setting Up the Gallery
Create a new canvas app from blank (phone or tablet). Add a connection to the ProjectTasks list, then insert a vertical gallery and choose that list as its data source.
Inside the gallery, place labels for Title, DueDate, TaskStatus, Priority, and Progress. Set their Text properties to reference the corresponding fields of ThisItem.
ThisItem.Title
ThisItem.TaskStatus.Value
Later we will apply conditional formatting directly on these controls.
Conditional Formatting with Text Criteria
Single Value
When a task is Overdue, the status label should turn dark red to draw attention.
If(ThisItem.TaskStatus.Value = "Overdue", DarkRed, RGBA(0, 0, 0, 0))
This keeps the label transparent for all other statuses.
Multiple Values
Assign distinct colours to each status:
- Completed → Green
- In Progress → Goldenrod
- On Hold → Orange
- Overdue → DarkRed
- Not Started → LightGray
If( ThisItem.TaskStatus.Value = "Completed", Green, ThisItem.TaskStatus.Value = "In Progress", Goldenrod, ThisItem.TaskStatus.Value = "On Hold", Orange, ThisItem.TaskStatus.Value = "Overdue", DarkRed, ThisItem.TaskStatus.Value = "Not Started", LightGray, RGBA(0, 0, 0, 0) )
When you have more than three options, consider using a Switch statement for cleaner syntax. Switch doesn’t support a default “else” colour directly, but you can wrap it in an If to handle missing values.
Formatting Priority with Text Colours
Make the Priority label’s text colour change based on urgency:
Switch( ThisItem.Priority.Value, "Critical", Red, "High", Orange, "Medium", Black, "Low", Gray )
Conditional Formatting with Number Criteria
Single Number Criterion
Flag any task where Progress is below 50 % by colouring the progress number red.
If(ThisItem.Progress < 50, Red, Black)
Two Number Criteria
Make progress values ≥ 50 green and < 50 red.
If(ThisItem.Progress >= 50, Green, Red)
Multiple Number Criteria
Use three bands: ≥ 80 (green), ≥ 50 (yellow), and < 50 (red).
If( ThisItem.Progress >= 80, Green, ThisItem.Progress >= 50, Gold, Red )
Row Highlighting Based on a Condition
You can highlight an entire row when a task is Overdue by setting the gallery’s TemplateFill property.
If(ThisItem.TaskStatus.Value = "Overdue", PaleGoldenrod, Transparent)
Conditional Formatting with Emojis
Emojis can replace text labels for instant recognition.
Checkmarks and Crosses
Replace the status text with a ✅ or ❌ based on completion.
If( ThisItem.TaskStatus.Value = "Completed", "✅", ThisItem.TaskStatus.Value = "Overdue", "❌", ThisItem.TaskStatus.Value )
Visual Priority Icons
Use different symbols for each priority level.
Switch( ThisItem.Priority.Value, "Critical", "🔴", "High", "🟠", "Medium", "🟡", "Low", "🟢", "" )
On Windows you can insert emojis by pressing Win + . inside any text property. Be aware that some emojis may render differently on mobile devices – test on both platforms.
Common Mistakes and Troubleshooting
Choice columns need .Value.
Always append .Value to a choice column (e.g. ThisItem.TaskStatus.Value). Without it you are comparing against a record, not a string.
Spelling and whitespace. Choice values are case‑sensitive and must match exactly (including spaces). If your formula uses “Overdue” but the list has “Overdue ” (trailing space), the condition will never be true.
Delegation isn’t an issue here.
Formatting formulas use only ThisItem, which is already loaded client‑side. You do not need to worry about delegation limits when applying conditional formatting inside a gallery.
Empty or null values.
If a progress number or status can be empty, wrap your conditions with IsBlank to avoid errors. For example:
If( IsBlank(ThisItem.Progress), Gray, ThisItem.Progress < 50, Red, Green )
Final Recommendation
Conditional formatting is one of the quickest ways to make a Power Apps gallery more informative. Start with simple colour changes, then layer on emojis and row highlighting as your needs grow. Keep the number of distinct colours low (4‑6) to avoid overwhelming users, and always test your formulas with real data before deploying.
References
- Original article by Matthew Devaney: 7 Power Apps Gallery Conditional Formatting Examples
- Microsoft Learn –
Iffunction in Power Fx