Rows

Row identity, sizing, spanning, detail panels, reorder, and pinning.

Wrap dataset records as DataTableRowModel and optionally override ids with get_row_id.

  • Stable row keys from business fields (SKU, order id)
  • Expandable detail content below a row
  • Sticky summary rows at top or bottom while scrolling
  • Map records to DataTableRowModel via items or DataTableSource::Client.
  • Set get_row_id when keys differ from DataRecord::id.
  • Enable ROW_DETAIL, ROW_REORDER, or ROW_PINNING on features as needed.
Custom row id

get_row_id resolves stable row keys from record fields instead of DataRecord.id.

SKU-42
Widget
SKU-99
Gadget
Auto row height

Rows grow with multi-line cell content while density still controls padding.

DensityDefault
Line one. Line two. Line three.
Row spanning

Consecutive equal values in a column merge into one cell (row_span_merge).

2
A
B
5
C
D
E
1
F
Row detail panel

Expand a row to reveal a detail slot (ROW_DETAIL flag).

Order 1001
Row reorder

Drag rows to reorder when ROW_REORDER is enabled.

⋮⋮
Alpha
⋮⋮
Beta
⋮⋮
Gamma
⋮⋮
Delta
⋮⋮
Epsilon
Row pinning

Sticky top and bottom rows stay visible while scrolling (ROW_PINNING).

Summary (pinned top)
Row 2
Row 3
Row 4
Row 5
Row 6
Row 7
Row 8
Row 9
Row 10
Row 11
Row 12
Row 13
Row 14
Row 15
Totals (pinned bottom)