Emberblocks

Search documentation

Search docs pages by title or description

Your apps
Browse documentation

Table block

Data view

The table block is the workhorse of most internal tools: rows of a table in a dense, searchable grid. It scales from a five-row checklist to tens of thousands of rows with pagination, grouping, and per-row actions.

Try it: Click a column header to sort, type in the search box, tick rows to reveal the bulk bar, and page through the footer.
Orders
8 rows
#1042Nordic Supply ABShipped€1,240.00
#1041Beck & SöhneProcessing€312.50
#1040Lumen StudioOn hold€868.00
#1039Harbor FoodsDelivered€2,088.00
#1038Vega ClinicDelivered€540.00
Rows per page1–5 of 8
Example. A table block over an Orders table. Search, CSV export and import, and an Add button sit in the top bar; the Status column shows the select field's option colors; each row ends in an Invoice action; a Mark shipped bulk action appears once rows are selected; the footer is the “pages” pagination mode.

When to use it

  • Records where people scan many fields at once — orders, tickets, inventory.
  • Data that gets edited in place: mark columns editable and edits save as you type.
  • Workflows that need CSV import/export or bulk actions over selected rows.

Settings

SettingWhat it does
ColumnsWhich fields render, in which order. Drag to reorder — action columns live in the same list.
Editable columnsColumns rendered as inline inputs on every row. Edits write back after a short pause, gated by the viewer's update permission.
Reference quick-createEditable reference columns offer an “Add …” option that creates a row in the referenced table and links it to that row. On by default; disable it per column.
SortDefault sort. Viewers can also click any column header to cycle ascending → descending → off.
Group byNest rows under group headers, each level optionally starting collapsed.
Group summaryThe aggregate shown on each group header — row count by default; sum/avg need a number field, min/max also work on dates.
SearchA search box that filters rows as the viewer types.
Viewer filtersA Filters button in the top bar where viewers stack their own conditions (column, operator, value) on any visible column: contains, is, is not, greater than, is before, is any of, is empty, and so on. Date columns also take a relative value, so “is within this month” still means this month tomorrow. An email column can be filtered to “is me”, and so can a reference column pointing at your app’s users table when both tables live in the same data source; “me” is always the signed-in viewer, resolved on the server, so public links never offer it. Conditions combine with an And/Or switch, and groups nest conditions with their own And/Or (up to three levels, ten conditions in all). They always narrow your configured filter, never replace it, and the row count and CSV export follow them. Off by default.
Saved filtersInside that Filters popover, viewers can name a set of conditions and pick it again later, keeping it to themselves or sharing it with everyone who can see the block. A saved filter follows the TABLE, so a block offers one only when it shows every column the filter uses; one whose column you later hide still applies, minus that condition, and says so. Picking a filter puts it in the page address, so a link opens the screen already filtered. Viewers can pin a personal default, and you can set the one everyone else opens on. On wherever viewer filters are on.
Default filterThe saved filter this block opens on, for viewers who have not pinned their own. A link with a filter in it wins over both. Only app presets and filters shared with everyone can be picked here: a private one would resolve to nothing for everybody else.
Row clickThe record page a row opens when clicked.
Pagination“Load more” appends rows on demand; “pages” adds a footer with page navigation, exact filtered counts, and a rows-per-page picker (default 25, 5–100).
Row expansionExpand a row inline into related rows of another table, matched by a record filter against the parent row (up to 8 child columns).
Action columnsPer-row action buttons rendered as extra columns, anchored anywhere in the column order, icon-only if you like.
Bulk actionsActions that run over all selected rows via row checkboxes.
CSV export / importLet viewers download the current rows as CSV, or import new rows from a CSV file.

Pagination rules

"Pages" mode needs at least 4 grid rows of height for its footer and can't combine with grouping (a group would span only the current page) — the publish check flags both cases.

Like every block, this one also has the shared block settings: an optional title (which shows as a heading above the block) with a description under it, auto-height, conditional visibility, and role-based visibility, plus the source table and record-filter settings shared by all data blocks.