Skip to content
Version 2026.21

Data Table ​

A table of rows from a dataset, with sort, filter and row select.

In Studio ​

In Studio, double-click Data Table in the Components category of the Components panel. It is added to the open view, where you can drag it into place.

When to use ​

Use Data Table for batches, run logs and query results. Pick cards on a phone or Lens screen, and compact density for long lists.

Properties ​

PropertyTypeDefaultDescription
Varianthairline, striped, cardshairlineHow it looks: hairline (default, thin row dividers), striped (header plate, zebra rows) or cards (each row a card).
Densitycomfortable, compactcomfortablecomfortable (default) or compact row spacing.
Row KeyString(none)The column that identifies a row, so the selection survives a refresh or a sort. Blank identifies rows by position.
Sortabletrue, falsetrueLets the operator sort by clicking a column header: ascending, descending, source order.
Filter Boxfalse, truefalseShows a filter box above the table.
Row Selecttrue, falsetrueLets the operator select a row.
Empty TextStringNo rowsShown when there are no rows.
Range ColumnString(none)A timestamp column to filter by Range Start and Range End. Blank turns the range off.
Range StartString(none)Start of the range, in epoch milliseconds. Bind it to a Date / Time Range's start.
Range EndString(none)End of the range, in epoch milliseconds. Bind it to a Date / Time Range's end.
RowsDataset(empty)The data: a list of row objects, one key per column. Bind it to a Named Query, a script or a dataset. With no columns set, the first row's keys become the columns.

Binding ​

This component has no single value binding.

Bind the rows property to a Named Query (or any dataset). columns lists key, label, width, align and format per column; leave it empty to get one column per key. Selecting a row publishes selectedRow, selectedIndex and selectedKey as live values and fires the On Action Performed event with the row.