Overview
A composable data table that provides sort controls, filtering, pagination, row selection, expansion, and grouping. Uses an adapter pattern for data pipeline strategy (client-side, server-side, or virtual scrolling).Basic Usage
Function Signature
Parameters
Configuration options for the data table
Source items (array or ref)
Column definitions
Property used as row identifier (must be string or number)
Enable multi-column sort
Prevent clearing sort (asc ↔ desc cycle only)
Direction for first sort click
Row selection strategy
Property that controls per-row selectability
Column key to group rows by
Auto-open all groups on creation
Allow multiple rows expanded simultaneously
Pagination configuration
Filter configuration
Locale for sorting (defaults to browser default)
Data pipeline adapter (ClientAdapter, ServerAdapter, VirtualAdapter)
Returns
Data table context with pipeline stages and controls
Final paginated items for rendering
Raw unprocessed items
Items after filtering
Items after filtering and sorting
Set the search query
Current search query (readonly)
Sort controls and state
Pagination controls
Row selection controls
Row expansion controls
Row grouping controls
Total row count for aria-rowcount
Loading state (managed by adapter)
Error state (managed by adapter)
Sorting
Basic Sort Cycle
Default cycle: none → asc → desc → noneReverse First Sort Order
Start with descending:Mandate Sort
Prevent clearing sort:Multi-Column Sort
Custom Sort Comparator
Sort Methods
Filtering
Search Query
Custom Column Filter
Pagination
Selection
Basic Selection
Selection Strategies
Single: Only one row at a timeSelectable Rows
Control per-row selectability:Bulk Selection
Expansion
Basic Expansion
Single Expansion
Bulk Expansion
Grouping
Basic Grouping
Group Controls
Auto-Open Groups
Adapters
Client Adapter (Default)
Performs filtering, sorting, and pagination client-side:Server Adapter
Delegates to server for data operations:Virtual Adapter
For large datasets with virtual scrolling:Context Pattern
Use dependency injection for global table access:TypeScript
Type-Safe Columns
Custom Item Value
Related
- use-filter - Filtering logic
- use-pagination - Pagination controls
- createSelection - Selection patterns
- createGroup - Grouping logic