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
DataTableRowModelviaitemsorDataTableSource::Client. - Set
get_row_idwhen keys differ fromDataRecord::id. - Enable
ROW_DETAIL,ROW_REORDER, orROW_PINNINGonfeaturesas 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) |