Skip to content

Conditional Row Styles

Style rows based on data conditions — like conditional formatting in spreadsheets. Rules apply a background color, a text color, bold, italic, and strikethrough to rows that match filter criteria.

How it works

  1. Open the Row Styles dialog from the view tab context menu
  2. Add a rule with one or more conditions (same operators as filters: equals, not equals, greater than, etc.)
  3. Choose a background color and a text color from the palettes, or toggle text styles (bold, italic, strikethrough)
  4. Rules are priority-ordered — first matching rule wins

Creating a rule

Each rule has:

  • Name — a label for the rule (e.g., "Overdue tasks")
  • Conditions — filter criteria using column values and operators
  • Condition logicAND (all conditions must match) or OR (any condition matches)
  • Style — background color, text color, bold, italic, strikethrough
  • Enabled — toggle rules on/off without deleting them

Priority ordering

Drag rules to reorder them. The first enabled rule whose conditions match a row determines that row's style. Later rules are not evaluated for that row.

Order narrowest to broadest. Because evaluation stops at the first match, a rule whose conditions are a superset of the rule below it makes that rule unreachable. amount > 100 placed above amount > 1000 will colour every row over a thousand with the first rule's style, and the second will never fire — put the more specific threshold first.

A rule with no conditions never matches, so a half-written rule is inert rather than applying to everything. The same is true of a condition whose comparison value is still empty.

Stored on the view

Style rules belong to the view, not to a filter preset and not to an individual user. Everyone with access to the view sees the same styling, and a rule you add or disable changes it for all of them. Switching filter presets does not change the styling.

Color palettes

Eight predefined M3-compatible pastel backgrounds that work in both light and dark mode:

ColorHex
Red#FFEBEE
Orange#FFF3E0
Yellow#FFFDE7
Green#E8F5E9
Blue#E3F2FD
Purple#F3E5F5
Teal#E0F2F1
Grey#F5F5F5

And eight matching text colors. Each one is the dark end of its hue in light mode and the light end in dark mode, so it stays readable on white, on its own pastel background, and on the dark surface — every pair clears WCAG AA contrast.

ColorHex
Red#B71C1C
Orange#BF360C
Yellow#6D6213
Green#1B5E20
Blue#0D47A1
Purple#4A148C
Teal#004D40
Grey#424242

Colors outside these two palettes can be set through the API. They are applied as inline styles, which means they cannot switch between light and dark mode — prefer the palettes unless you have a reason not to.

Selection and hover priority

When a styled row is selected or hovered, the selection/hover styling takes precedence over the conditional style. The conditional style reappears when the row is deselected.

Performance

Style rules are evaluated client-side against loaded rows (100 per page). This means:

  • No impact on database queries
  • SSE-inserted rows pick up styles immediately
  • Evaluation is sub-millisecond even with many rules

SchemaStack Documentation