Skip to main content
The Table widget displays query results as a structured grid — rows and columns with full control over how each column looks, sorts, and highlights values.

Reading the data

Each row in the table corresponds to one row returned by the underlying query. Column headers are the field names from your query — you can rename them inside the widget without changing the query itself. The table paginates automatically for large result sets. The total row count is shown in the widget footer. Null values are displayed as an empty cell. They are sorted to the bottom when sorting ascending and to the top when sorting descending. Numbers, dates, and text are all displayed as returned by the database. Use column controls to add prefixes, suffixes, or formatting on top of the raw values.

Sorting and filtering

Open the widget settings to set a default sort:
SettingDescription
Sort columnThe column to sort by when the widget first loads
Sort directionAscending or Descending
Viewers can click any column header to sort interactively — this overrides the default sort for their session without changing the saved configuration. Filter data lets you apply a persistent filter condition to the query results (e.g. show only rows where status = "active"). This filter is applied before the table renders and is not visible to viewers as a control.

Column controls

Click any column header in edit mode, or open Settings → Columns, to configure a column.
OptionDescription
RenameChange the display label shown in the header
WidthSet a fixed pixel width for the column
PrefixText prepended to every value in the column (e.g. $, )
SuffixText appended to every value (e.g. %, ms, units)
Show header iconDisplay a small icon in the column header
Prefix and suffix are purely visual — they do not change the underlying value used in sorts or calculations.

Conditional formatting

Conditional formatting lets you apply styles to individual cells based on their value. Open Settings → Columns → Conditional formatting for any column.

Single color rules

Rules are evaluated top-to-bottom. The first matching rule wins. Each rule has a condition and a style to apply when that condition is true. Condition types:
ConditionApplies when…
Is emptyCell has no value
Is not emptyCell has any value
EqualsValue exactly matches the given input
Not equalsValue does not match
Greater thanNumeric value exceeds the threshold
Greater than or equalNumeric value meets or exceeds the threshold
Less thanNumeric value is below the threshold
Less than or equalNumeric value is at or below the threshold
BetweenNumeric value falls between two thresholds (inclusive)
Text containsString value includes the given text
Text does not containString value does not include the given text
Text starts withString value begins with the given text
Text ends withString value ends with the given text
Style options per rule:
StyleDescription
Text colorFont color (any hex, RGB, or HSL value)
Background colorCell background color
BoldBold text
ItalicItalic text
UnderlineUnderlined text
StrikethroughStruck-through text
Any combination of styles can be applied in a single rule.

Color scale

The Scale tab in conditional formatting applies a continuous color gradient across the column’s values — useful for quickly spotting high and low values in numeric columns. Configure three anchor points:
AnchorDefault typeDescription
MinMinimum value in the columnSets the color for the lowest value
Mid(optional)Midpoint color — leave blank for a two-color gradient
MaxMaximum value in the columnSets the color for the highest value
Anchor types:
TypeDescription
Min / MaxAutomatically uses the column’s actual minimum or maximum
NumberA specific absolute value
PercentA percentage of the column’s range (0–100)
PercentileThe nth percentile of values in the column
Values between anchor points receive interpolated colors. Values outside the defined range receive the nearest anchor color.

Table style

Open Settings → Style to pick a predefined color theme for the entire table.
StyleAppearance
NonePlain table with no background colors
BlueBlue header with light blue row banding
OrangeOrange header with warm banding
Grey / SlateGrey header with neutral banding
Yellow / AmberYellow header with warm banding
GreenGreen header with green banding
CustomChoose your own header and banding colors

Custom style

When Custom is selected, four color fields appear:
FieldDescription
Header color (light)Header background in light mode
Header color (dark)Header background in dark mode
Banding color (light)Alternating row color in light mode
Banding color (dark)Alternating row color in dark mode
Setting separate light/dark colors ensures the table looks correct in both themes.

Pinned columns

Pinned columns stay fixed at the left edge of the table while the remaining columns scroll horizontally. Useful for identifier columns (e.g. name, ID) that viewers need to keep visible. To pin a column: open Settings → Columns, select the column, and toggle Pin column. Multiple columns can be pinned; they appear in the order they are pinned.

Column order

Drag columns in the Settings → Columns panel to reorder them. The saved order persists for all viewers — individual viewers cannot reorder columns. To reset to the query’s natural column order, drag columns back or use Reset order.
Last modified on March 11, 2026