better_data_table
A highly customizable Flutter table widget with sorting, selection, expandable rows, collapsible groups, column visibility, striped rows, and a comprehensive theming system.
0.2.2
Miso-0/better_data_table
What this package is like to depend on
Last release 17 days ago
06 Aug 2026
Too new to tell
only 2 release windows
Nearly every release is documented
notes for 4 of 4 stable releases
Nothing withdrawn
no release was ever pulled
6 months old
4 releases · first in 2026
4 releases in the last 12 months
see the full history below
Release timeline
4 releases · Feb 2026 to Aug 2026Releases
latest 4-
0.2.206 Aug 2026Release notes
Open source →New features:
BetterDataTable.expandedRowChildBuilder— a new expansion builder whose content renders as its own full-width block between rows instead of being placed inside the expand column's table cell likeexpandableRowBuilder. Falls back toexpandableRowBuilderfor a row when it returnsnull, so both builders can be mixed on the same table. Table borders/dividers won't draw through this content since it sits outside theTablewidget.
-
0.2.121 Feb 2026Release notes
Open source →Fixed:
- Expand icon displays at true size — the expand toggle cell no longer applies
cellPaddingto its container, which was shrinking the available space in the fixed-width (48 px) column and clipping larger custom icons - Custom expand icons rendered without extra padding — the inner
Padding(EdgeInsets.all(4))now wraps only the default fallback icons; widgets supplied viaBetterDataTableTheme.rowExpandIcon/rowCollapseIconare rendered as-is
- Expand icon displays at true size — the expand toggle cell no longer applies
-
0.2.021 Feb 2026Release notes
Open source →New features:
- Pointer cursor on clickable rows — rows with any tap handler (
onRowTap,onRowDoubleTap,onRowLongPress,onRowSecondaryTap,BetterDataTableRow.onTap) automatically showSystemMouseCursors.clickon desktop and web - Fully customizable icons — six new
Widget?fields onBetterDataTableThemelet you replace every icon with any widget:sortAscendingIcon/sortDescendingIcon— sort direction indicators in column headersrowExpandIcon/rowCollapseIcon— expand/collapse toggle on hierarchical and expandable rowsgroupExpandIcon/groupCollapseIcon— chevron in collapsible group headers
- No empty box for non-expandable rows — when the expand column is present but a
row has no children and no expandable content, the cell now renders as
SizedBox.shrink()instead of a padded empty container
- Pointer cursor on clickable rows — rows with any tap handler (
-
0.1.020 Feb 2026Release notes
Open source →Initial public release.
New features:
BetterDataTableColumn.visible— hide/show individual columns at runtimeBetterDataTableColumn.tooltip— tooltip on column headerBetterDataTableColumn.minWidth/maxWidth— now actually enforced viaMaxColumnWidth/MinColumnWidthwrappersBetterDataTableColumn.copyWith()BetterDataTableRow.tooltip— tooltip on hover over entire rowBetterDataTableRow.copyWith()BetterDataTableGroup.collapsible— users can collapse/expand groups; controlled viaBetterDataTable.collapsedGroups+onGroupToggledBetterDataTableGroup.copyWith()BetterDataTable.onRowSecondaryTap— right-click / secondary tap callbackBetterDataTable.rowDivider(BorderSide?) — full-width row divider drawn as a bottom border on each data row (replaces the broken single-celldivider)BetterDataTable.collapsedGroups+BetterDataTable.onGroupToggled
Fixed:
BetterDataTableTheme.stripednow actually applies alternating row colorsalternateRowDecorationis now used for odd-indexed rowscellTextStyleis now applied to every data cell viaDefaultTextStyle.mergeminWidth/maxWidthon columns were defined but had no effect — fixed- Expand toggle now has a circular
InkWellsplash for better touch feedback
Structural:
- Split into
lib/src/modules (better_data_table_column.dart,better_data_table_row.dart,better_data_table_group.dart,better_data_table_theme.dart,better_data_table_widget.dart) with a clean barrel export inlib/better_data_table.dart - 46 widget and unit tests added