ntech_grid 0.1.0
ntech_grid: ^0.1.0 copied to clipboard
A full-featured, TanStack Table-inspired data grid for Flutter. Sorting, filtering, pagination, grouping, selection, column pinning, row pinning, expanding rows, server-side data sources — all via com [...]
Changelog #
All notable changes to flutter_grid are documented here.
0.2.0 — 2026-05-04 #
Added #
grid_ui
fillWidth—GridDataTableandFlutterGridnow acceptfillWidth: bool(defaultfalse). Whentruethe table stretches to fill available horizontal space; when columns are wider than the viewport the table still scrolls.- Column span headers —
GridHeaderRownow renders group headers correctly: width is computed as the sum ofcolSpanconsecutive visible columns. Hidden leaf-column headers are skipped automatically. - Hover row —
GridDataRowhighlights the hovered row usingGridThemeData.hoverRowBackground. Selection always takes priority. - Animated insert / remove —
GridDataTableis now aStatefulWidgetbacked byAnimatedList. Single-row insertions and deletions animate with aSizeTransition+FadeTransition. Bulk changes (sort, filter, page) reset instantly without animation. - Semantics —
GridDataRowandGridHeaderRowcells are wrapped inSemanticsnodes withlabel,selected, andbuttonproperties. - Haptic feedback —
GridDataRowandFlutterGridacceptenableHapticFeedback: bool(defaultfalse). Whentrue,HapticFeedback.lightImpact()fires the moment a row transitions to selected.
grid_core
ColumnDef,GridController,GridThemeData— dartdoc comments added to all public APIs.
grid_export (new package)
GridExporter<T>— converts anyGridControllerto CSV.toCsv({includeHeaders, columnIds, allRows})— returns aString.copyToClipboard(...)— writes CSV to the system clipboard and returns the string. Usesflutter/services.dart— no extra dependencies.- Configurable
delimiter(default,) andquote(default"). - Proper RFC 4180 quoting for values containing the delimiter, quotes, or line-breaks.
GridThemeData
hoverRowBackground— color applied when the pointer is over a row.GridThemeData.fromThemederives it fromonSurfaceat 4 % opacity.
Changed #
GridHeaderRownow requires avisibleColumnsparameter (was implicit).GridDataTablepassestable.visibleColumnsautomatically.GridDataRowis now aStatefulWidget(wasStatelessWidget). Existing usages are unaffected.
Example app #
- Complete rewrite of
flutter_grid_examplewith five screens:- Basic — full table with sort, filter, column visibility, pagination.
- Selection — multi-row select, bulk action bar, haptic feedback.
- Animated — live insert / remove demo.
- Export — CSV preview and clipboard copy via
grid_export. - Features — column pinning, custom cells, dark custom theme.
0.1.0 — initial release #
grid_core: headless pipeline, sort, filter, pagination, grouping, selection, column pinning/ordering/sizing/visibility, row pinning, expand, undo/redo.grid_flutter:GridBuilder,MemoryDataSource,RestDataSource,StreamDataSource,PersistenceMiddleware.grid_ui:FlutterGrid,GridDataTable,GridHeaderRow,GridDataRow, built-in cell renderers (text, number, money, date, boolean, badge, avatar, progress, link), skeleton loading, toolbar, filter bar, pagination, bulk action bar, column chooser, context menu, swipe row actions.