(this page was created automatically. In case of formatting issues, please visit the official Wiki Page)

Table

Overview

Example Table

Specs

Tokens

Token Description
displayName Display name shown in structure panel.
id Unique identifier for programmatic access.
keyExpr Field(s) that uniquely identify rows.
height Table height in px or %.
detailsRowEnabled Enables expandable detail rows.
rowDetailsCustomTemplate Template for expanded row details.
detailsRowHeightInPx Height of detail rows in pixels.
allowSearching Enables table search box.
paddingClass Spacing via CSS classes.
scrollingMode Row scrolling strategy.
columnRenderingMode Column rendering strategy.
autoExpandAll Expands all grouped rows on load.
enterKeyAction Behavior on Enter key press.
enterKeyDirection Direction after Enter key press.
editOnkeyPress Start editing when typing in cell.
selectedRowsAccessKey Context key to read selected rows.
selectionMode Row selection mode.
showHeader Show or hide the header area.
titleTranslations Localized table title.
subtitleTranslations Localized subtitle.
enableMaximize Toggle full screen mode.
enableColumnChooser Show/hide columns chooser.
allowGrouping Enable drag-to-group by column.
allowFiltering Enable column filtering.
highlightSearchText Highlight matched search text.
elements Array of DynamicTableColumnComponent.
columnMinWidth Minimum column width in px.
columnAutoWidth Auto-fit column width to content.
columnResizingMode How resizing affects columns.
saveColumnSettings Persist user column settings.
fieldsUsedInSearch Fields included in search.
enablePagination Enable paged data loading.
pageSize Rows per page.
paginationRequestParamsMap Map client paging params to server.
paginationResponseFieldsMap Map server paging fields to client.
paginationFilterFieldsMap Map filter names for pagination.
useFiltersInRequestBody Send filters in request body.
getEntityCollectionHttpRequestParametersMap Extra HTTP params for fetch.
getElementsDataSourceId Data source ID for rows.
visibilityPolicySetId Controls component visibility by policy.
allowAdding Allow creating new rows.
addingType How rows are added.
addingDialog Dialog content ID for add.
createElementDataSourceId Data source for create.
createEntityHttpRequestParametersMap Params mapping for create.
allowUpdating Allow editing existing rows.
updatingType How rows are updated.
updatingDialog Dialog content ID for update.
updateElementDataSourceId Data source for update.
updateEntityHttpRequestParametersMap Params mapping for update.
allowDeleting Allow deleting rows.
deleteConfirmation Require confirmation before delete.
removeElementDataSourceId Data source for delete.
removeEntityHttpRequestParametersMap Params mapping for delete.
exportToExcelFileName Default Excel export filename.
exportToExcelAllRows Export all rows.
exportToExcelSelectedRows Export selected rows only.
exportToExcelVisibleRows Export only visible rows.
showInSubmenu Place export options in submenu.
columnCustomProps Define custom row action icons.
columnOverflowMenus Configure row overflow menu options.
events Configurable component events.
ON_INIT (Events) Event on component initialization.
ON_DESTROY (Events) Event on component removal.
ON_TABLE_ROW_CLICK (Events) Event on row click.
ON_TABLE_ROW_EDIT_START (Events) Event when row edit starts.
ON_TABLE_ROW_EDIT_CANCEL (Events) Event when row edit is cancelled.
ON_TABLE_ROW_SAVED (Events) Event when row changes are saved.
dataTestId Testing hook ID for automation.

Structure

(Configured in General Properties)

(Configured in Datasource)

Rows

(Configured in Visual Properties)

Selection modes

Example details row

(Configured in Visibility)

Pagination

(Configured in Datasource)

Styling

Header

(Configured in Header)

Header with title, subtitle, selected item and activated search

Sizing & Spacing

(Configured in Visual Properties)

Columns

(Configured in Column)

Configure cloumns dialog

(Configured in Visual Properties)

Actions & Variants

(Subsections grouped and sourced as approved.)

Header Controls

(Configured in Header)

Header labled

Search

(Configured in Visual Properties)

(Configured in Column)

(Configured in Header)

Adding

(Configured in Datasource)

Table while adding a new item

Update

(Configured in Datasource)

Table while updating as item

Export

(Configured in Datasource)

Delete

(Configured in Datasource)

Table with deleting option

Row Actions

(Configured in Visual Properties)

(Configured in Custom Actions)

Events

(Configured in Events)

Tests

(Configured in Testing Hooks)

Links

Guidelines

Usage

Sizing & Layout

Interactions & Events

Content & Localization

Dos & Don’ts

Do Don’t
For fast data entry, set enterKeyAction: "startEdit" (optionally with editOnkeyPress: true) so users can type immediately. Force extra clicks before typing in entry workflows.
Match focus traversal to reading order using enterKeyDirection (e.g., "row" for left→right tables). Move focus in a direction that conflicts with the layout.
Keep only primary actions as inline icons and place the rest in columnOverflowMenus. Pack rows with many small icons that compete for attention.
Configure deletes with removeElementDataSourceId and removeEntityHttpRequestParametersMap. Fire ad-hoc delete calls that ignore row context.
React to edit start/cancel/save with the table’s events to keep UI and data in sync. Ignore the edit lifecycle and risk data/UI drift.
Use ON_TABLE_ROW_CLICK for navigation or detail reveal. Hide navigation behind a tiny icon only.
Provide a stable selector via dataTestId. Depend on brittle DOM/text selectors.

Accessibility

Datasource Requirements

Getting data

Component support paginable response Endpoint standard for open specification . As mentioned before specific field can be mapped to adjust response (e.g. content → data)

Example:

{
  "content": [
    {
      "id": "9f19d7de-d089-46c6-9814-68e8f52b6130",
      "componentName": null,
      "contentType": "BOARDLET",
      "title": "Customer Invoice",
      "createdBy": "john-doe",
      "createdOn": "2025-04-10T11:06:56.570787Z"
    }
  ],
  "totalElements": 100,
  "totalPages": 4,
  "number": 0,
  "size": 25,
  "first": true,
  "last": false,
  "empty": false
}

Create data

Table is sending to backend object based on configured columns.

Update date (standard way, without dialog)

Table is sending back whole data record which get from backend. Even if for instance id column is not visible table will send whole object with modification.

{
  "id": "9f19d7de-d089-46c6-9814-68e8f52b6130",
  "status": "completed",
  "completedDate": "2025-04-25T10:00:00Z"
}

Delete data

Table is requesting to specific endpoint with data set based on context (in this case table row).