Live Data Table
Live Data Table component with virtual scrolling for handling huge datasets efficiently. Supports PubSub updates, sorting, filtering, and row selection.
Basic Usage
ID
Company
Owner
Status
Progress
Last Updated
columns = [
%{key: "id", label: "ID", sortable: true},
%{key: "name", label: "Name", sortable: true},
%{key: "email", label: "Email", sortable: true}
]
<.live_data_table
id="users-table"
rows={@users}
columns={@columns}
row_height={50}
visible_rows={10}
/>
With Row Selection
<.live_data_table
id="users-table"
rows={@users}
columns={@columns}
enable_selection={true}
selected_rows={@selected_rows}
/>
Features
- Virtual scrolling for huge datasets (10,000+ rows)
- Column sorting (ascending/descending)
- Real-time filtering/search
- Row selection (single or multiple)
- PubSub integration for live updates
- Customizable row and column rendering
- Responsive and accessible
Event Handlers
The component dispatches the following events to your LiveView:
-
filter-table- When filter value changes -
sort-column- When column header is clicked -
toggle-row-selection- When row checkbox is toggled -
select-all-rows- When header checkbox is clicked