flutter_data_grid 0.0.11 copy "flutter_data_grid: ^0.0.11" to clipboard
flutter_data_grid: ^0.0.11 copied to clipboard

High-performance, reactive data grid for Flutter with virtualization, sorting, filtering, cell editing, row selection, column pinning, and keyboard navigation.

0.0.11 - 2026-02-21 #

  • Performance: Converted DataGridCell from StatelessWidget to StatefulWidget with content caching — cell renderers are only re-called when the row data, column, or selection state for that specific cell changes; unrelated state changes reuse the cached widget
  • Performance: Replaced GestureDetector + DecoratedBox per cell with a single custom RenderObject (_CellContainer) — decoration changes are a markNeedsPaint() only, gesture callback updates are pointer swaps with zero framework cost
  • Performance: Isolated InheritedModel dependencies in cells using Builder pattern — cell element has no inherited dependencies, only the inner Builder subscribes
  • Performance: Cell content cache uses identical() row reference comparison and valueAccessor value comparison for accurate invalidation
  • Fixed: Cell value not updating after edit commit due to row equality comparison missing actual data changes

0.0.10 - 2026-02-19 #

  • Fixed: Pagination not re-rendering when rows are deleted — totalItems and currentPage are now updated in DeleteRowEvent and DeleteRowsEvent

0.0.9 - 2026-02-19 #

  • Fix: Reduced rasterization thread overload during fast scrolling by isolating repaint-heavy subtrees, minimizing per-frame allocations, and preventing unnecessary rebuilds during scroll.
  • Performance: Added targeted RepaintBoundary placements and tightened delegate rebuild logic to avoid per-cell subscriptions and costly per-frame work.

0.0.8 #

  • Performance: Cell editing now only commits on Enter/focus loss instead of every keystroke
  • Fixed: Scroll controller attachment error when changing page size
  • Fixed: Keyboard handling in cell editor (Enter commits, Escape cancels)
  • Improved: Consistent widget tree structure prevents scroll view conflicts during rebuilds
  • Example: Added Actions column with delete button
  • Example: Refactored into organized file structure (models, config, renderers)

0.0.7 #

  • Fixed: Selection checkbox column now always pinned in multi-selection mode
  • Fixed: Body viewport now invalidates column cache when columns change
  • Fixed checkbox column alignment issue when switching selection modes

0.0.6 #

  • Performance: Replaced AnimatedBuilder in header/filter rows with custom RenderObject (RenderDataGridHeader)
  • Header and filter rows now use markNeedsPaint() on scroll instead of widget rebuilds
  • Eliminated widget rebuilds during horizontal scrolling for smoother performance
  • Added DataGridHeaderViewport widget for efficient header/filter rendering
  • Added 8 new tests for header viewport with pinned/unpinned columns
  • Fixed README image path
  • Updated test count to 128 passing tests

0.0.5 #

  • Performance: Refactored DataGridCell from StatefulWidget to StatelessWidget (StatefulWidget only used during editing)
  • Performance: Removed nested StreamBuilders from cells - now using direct state access
  • Performance: Added column caching in viewport renderer to avoid recalculating pinned/unpinned columns on every layout
  • Performance: Added RepaintBoundary to grid body
  • Performance: Removed scroll debounce timer from GridScrollController
  • Added cacheExtent parameter to DataGrid for controlling pre-rendered content
  • Added smooth scroll physics for better horizontal scrolling momentum
  • Simplified DataGridCheckboxCell by removing StreamBuilder
  • Removed unused rowRenderer parameter from DataGrid
  • Removed unused default_row_renderer.dart file
  • Fixed conditional updateRenderObject to avoid unnecessary updates
  • Fixed scroll handling - viewport now handles scroll internally via ViewportOffset

0.0.4 #

  • Removed unnecessary import in data_grid_controller.dart

0.0.3 #

  • Added pagination support with client-side and server-side modes
  • New DataGridPagination widget with page navigation and page size selector
  • Pagination controller methods: enablePagination(), setServerSidePagination(), setPage(), setPageSize(), nextPage(), previousPage(), firstPage(), lastPage()
  • Server-side pagination with onLoadPage and onGetTotalCount callbacks
  • Loading overlay during async operations
  • New SetTotalItemsEvent for server-side pagination total count

0.0.2 #

  • Updated dependencies to latest versions
  • Added dartdoc documentation to public API
  • Added topics for pub.dev discoverability
  • Fixed example directory structure
  • Migrated to freezed v3

0.0.1 #

  • Initial release
  • High-performance virtualized data grid with support for 100k+ rows
  • Core features:
    • Column management (resize, pin, hide/show)
    • Multi-column sorting with isolate support for large datasets
    • Column filtering with multiple operators
    • Row selection (none/single/multiple modes)
    • Inline cell editing with validation
    • Keyboard navigation
    • Fully customizable theming
    • Event-driven architecture with interceptors
  • Performance optimizations:
    • Viewport virtualization for 60fps scrolling
    • Background isolate processing for sort/filter operations
    • Debounced operations
3
likes
0
points
472
downloads

Publisher

unverified uploader

Weekly Downloads

High-performance, reactive data grid for Flutter with virtualization, sorting, filtering, cell editing, row selection, column pinning, and keyboard navigation.

Repository (GitHub)
View/report issues

Topics

#data-grid #table #datagrid #virtualization #spreadsheet

License

unknown (license)

Dependencies

collection, flutter, freezed_annotation, rxdart

More

Packages that depend on flutter_data_grid