Skip to main content

Block Formatting Rules

A Block Formatting Rule decides where and how a Block Format gets stamped into the grid.

Adding a rule​

Block Formatting Rules can be added anywhere Formatting Rules can, including the whole Matrix, a space, a template, a subspace, and so on. Wherever you add a rule is the scope it applies to: a rule added on a single space only tests cells within that space, while a rule added at the Matrix level tests every cell in the grid.

Look for the Block Formats section alongside that level's Formatting Rules.

Condition​

The rule's Condition works like a Formatting Rule condition. It's an expression evaluated per cell. When it is evaluated as true, the block is stamped relative to that cell.

caution

A condition can only see raw, server-provided values, not the result of other formulas or rules.

When conditions are evaluated​

Conditions run at a specific point in the Matrix's pipeline, and it matters:

  1. The Matrix fetches its data from the server.
  2. Block Formatting Rule conditions and writeback formula conditions are evaluated against that data, exactly as fetched.
  3. Cell values are calculated: writeback formulas are evaluated across the grid.
  4. Cell styling is applied.

Because conditions run in step 2, before step 3, a condition never sees the result of a writeback formula or an overwriting Block Format. A condition that references a calculated cell therefore sees nothing, and silently fails to match.

It is best practice to build Block Formatting Rule conditions around structural signals: cell metadata ({meta.row.0.name}, {meta.col.*}) rather than cell values ({value}, A1-style references, FINDCELL). Metadata is known upfront and stays stable; values aren't settled until after conditions have already been evaluated.

Conditions are evaluated once​

A Block Formatting Rule's conditions are evaluated a single time, right after the Matrix loads. If a cell's value changes afterward — through a writeback formula, another rule, or the user editing it — that change gets no second look: whatever blocks were stamped when the Matrix first loaded is what stays stamped until the matrix is reconfigured. Changing a value in the grid never adds or removes a block.

This makes it doubly important to build Block Formatting Rule conditions around stable metadata rather than values. A value-based condition is not just evaluated on pre-calculation data (see above), it's also never re-checked once the Matrix is loaded.

Choosing a Block Format​

Pick which Block Format the rule applies from the Block Format dropdown.

The rest of the rule​

FieldPurpose
AnchorWhich axis the block locks to — see Anchoring & Apply Modes
ModeOverwrite, Insert Before, or Insert After — see Anchoring & Apply Modes
Allow overlapWhether the rule can stamp more than once along the same line — see Overlap
Apply content / Apply styleWhat the stamp copies — see Copy Options