Skip to main content
Table renders a scrollable, keyboard-navigable grid. Columns have fixed widths and the cursor highlights the selected row. The component exposes the currently selected row so you can act on the user’s choice.

Quick start

Column definitions

Each column is created with new Column(title, width):
Content that exceeds the column width is truncated with an ellipsis (…).

Row data

Row wraps a vararg of string cells:
Access a cell by index with row.at(index) or get all cells with row.cells(). You can also load rows from a delimited string:

Building the table

Table uses a fluent builder. All builder methods return this for chaining:
You can also set dimensions and data after construction:

Focus

The table only responds to key events when focused:

Selected row

Programmatic navigation

Styling

Styles holds three lipgloss styles applied to the header, cells, and selected row:

Key bindings

List

Filterable, paginated list.

Components overview

Back to all components.