trina_grid
A data grid that can be controlled by the keyboard on desktop and web. Of course, it works well on Android and IOS. (DataGrid, DataTable, Data Grid, Data Table, Sticky)
2.3.0
27K downloads/mo
#1943 most downloaded on pub.dev
doonfrs/trina_grid
What this package is like to depend on
Last release 1 months ago
22 Jul 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 25 of 26 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
26 releases · first in 2025
8 releases in the last 12 months
see the full history below
Release timeline
26 releases · Mar 2025 to Jul 2026Releases
latest 26-
2.3.022 Jul 2026Release notes
Open source →- Feature: Added built-in record sidebar with docked and floating modes (#396). @doonfrs
- Feature: Sidebar fields are editable using grid cell editors with shadcn styling (#399). @doonfrs
- Feature: Added
unfocusedSelectionColortoTrinaGridStyleConfigfor visually distinguishing focused vs. unfocused grids in multi-grid layouts (#372). @vasco-feltrin - Enhancement:
unfocusedSelectionColornow also applies to multi-cell selections (not just the current cell), and falls back togridBackgroundColorwhen unset so existing apps see no behavior change. Dark theme ships with a sensible default. @doonfrs - Feature: Made columnAscendingIcon and columnDescendingIcon clickable to trigger sorting (#379) (#380). @itsnotmeman
- Feature: Made scrollbar track-click animation configurable (#277) (#388). @doonfrs
- Feature: Added Hungarian locale (#382). @nagylzs
- Feature: Added column filtering demo screen with lazy pagination and dynamic configuration controls (#387). @doonfrs
- Fix: Arrow keys not working on Linux with NumLock on; all keyboard shortcuts are now NumLock-safe (#381) (#380) (#385). @itsnotmeman @doonfrs
- Fix: Prevent crash when toggling docked sidebar visibility (#398). @doonfrs
- Fix: Make selectWithSearch popup usable with a11y semantics on web (#394) (#395). @doonfrs
- Fix: Decoupled checkbox colors from cell selection colors (#390) (#392). @doonfrs
- Fix: Guard select cell initialValue against type mismatch (#391). @doonfrs
- Fix: Scope column filter rebuilds to filter events (#367) (#386). @doonfrs
- Fix: Include pagination and time picker fields in TrinaGridLocaleText equality (#384). @doonfrs
- Fix: Column header alignment (#301) and scrollbar thumb overflow (#375). @doonfrs
- Fix: Provide default ShadTheme so select popups work without ShadApp (#374). @doonfrs
- Fix: Updated demo for font_awesome_flutter v11 (#397). @doonfrs
- Chore: Updated shadcn_ui dependency to ^0.55.0. @doonfrs
- Test: Cover filter popup ShadTheme path (#376) (#378). @doonfrs
- Test: Updated select cell search tests for the Material TextField search field introduced in #395. @doonfrs
-
2.2.214 May 2026Release notes
Open source →- Feature: Added TrinaGrid.fitContent to auto-size grid to its rows (#218). @doonfrs
- Feature: Implemented TrinaDropdownMenu component and cell state with MenuAnchor support (#364). @doonfrs
- Feature: Added per-row & per-cell text style callbacks (#344). @doonfrs
- Feature: Added filterIconWidget property to TrinaGridStyleConfig (#348). @jan-siroky
- Fix: Restore dynamic row height by switching ListView itemExtent to itemExtentBuilder (#365). @doonfrs
- Fix: Prevent contextMenuIcon from initiating column drag in custom titleRenderer (#318). @doonfrs
- Fix: Place vertical scrollbar on trailing edge and unmirror horizontal drag in RTL (#359). @doonfrs
- Fix: Auto-create missing cells when initializing rows so newly appended rows survive hidden-column toggling (#354). @doonfrs
- Fix: Extend horizontal scroll past vertical scrollbar overlay (#355). @doonfrs
- Fix: Filter popup column dropdown shows localized titles (#356). @doonfrs
- Fix: checkReadOnly callback not preventing keyboard-initiated editing (#306). @doonfrs
- Fix: Currency column sorting broken with non-dot-decimal locales (#337). @doonfrs
- Fix: Remove renderer caching to fix stale renders with external state (#338). @doonfrs
- Fix: Use decimal keyboard for numeric column filters (#345). @jan-siroky
- Fix: Use TrinaOptional for filterIconWidget in copyWith to allow null reset (#349). @doonfrs
- Docs: Added CLAUDE.md with project guidance for Claude Code agents (#340). @doonfrs
- Docs: Added llm.txt and llms-full.txt for AI agent discoverability (#339). @doonfrs
-
2.2.105 Mar 2026 -
2.2.005 Mar 2026Release notes
Open source →- Feature: Added metadata support for rows, cells, and columns (#300). @JoshTechLee
- Feature: Added TrinaColumnType.custom() for complex object storage (#313). @doonfrs
- Feature: Added updateRowCells helper for batch cell updates (#328). @doonfrs
- Feature: Added customizable column resize widget support (#317). @doonfrs
- Feature: Added Is Empty and Is Not Empty filter types (#297). @doonfrs
- Feature: Added lazy pagination functionality (#285). @doonfrs
- Feature: Accept any Widget as sort icons, not just Icon (#282). @doonfrs
- Feature: Added moveDirection to onBeforeActiveCellChange event (#281). @doonfrs
- Feature: Added TrinaGridColumnHiddenEvent for column visibility changes (#273). @doonfrs
- Feature: Added rowWrapperIsConstantHeight configuration option (#276). @davidlrichmond
- Feature: Added keyboardType support to filter TextFields (#325). @jan-siroky
- Fix: Allow scrollPhysics parameter to take effect in body rows (#329). @doonfrs
- Fix: Row border misalignment with column border (#327). @doonfrs
- Fix: Null-safe cell access in row grouping with hidden columns (#326). @doonfrs
- Fix: Use number format to calculate decimal points (#321). @sschmaljohann
- Fix: Cache fallback cell in row.cells to avoid rebuild churn (#323). @doonfrs
- Fix: Null check crash in WASM when row cell missing for column (#322). @jan-siroky
- Fix: Account for column footer height in scroll calculations (#316). @doonfrs
- Fix: Remove [Selection] debug prints flooding console (#311). @doonfrs
- Fix: Resolve null check error in visibility layout and clamp scroll on layout change (#307). @doonfrs
- Fix: Row moving now works with multiple selected rows (#296). @doonfrs
- Fix: Renderer cache not invalidating when other cells in row change (#295). @doonfrs
- Fix: Prevent crash when TrinaDualGrid onSelected is null (#294). @doonfrs
- Fix: Frozen columns vertical misalignment while scrolling (#293). @doonfrs
- Fix: visibilityLayout breaks left+right frozen columns (#287). @Hakimbhb
- Fix: Migrate Android demo build to AGP 8.9.1, Kotlin 2.1.10, and declarative plugins (#286). @Hakimbhb
- Fix: Resolve all dart analyze warnings. @doonfrs
- Docs: Add row custom data documentation (#292). @doonfrs
-
2.1.117 Nov 2025Release notes
Open source →- Feature: Added scroll physics configuration to TrinaGrid (#262). @doonfrs
- Feature: Added configurable platform-specific separators for copy/paste (#261). @doonfrs
- Feature: Added Mac Cmd key support for cell selection. @doonfrs
- Feature: Added Excel-like cell selection features. @doonfrs
- Feature: Added cancellable onBeforeActiveCellChange event. @doonfrs
- Feature: Added smooth scrolling and scrollbar click-to-jump enhancements. @doonfrs
- Feature: Added click-to-jump functionality to scrollbars. @doonfrs
- Fix: Optimized callback executions with caching (#252) (#265). @doonfrs
- Fix: Account for scrollbar width in column auto-sizing (#266). @doonfrs
- Fix: Initialize all columns when inserting rows to prevent assertion error. @doonfrs
- Fix: Ensure frozen column divider renders correctly in RTL mode. @doonfrs
- Fix: Exit edit mode before selection to enable copy operations. @doonfrs
- Fix: Update outdated test mocks and fix flaky date-time test. @doonfrs
- Fix: Copy/paste with Ctrl+Click multi-select and Mac support. @doonfrs
- Fix: Enable custom renderers for group header cells in row grouping. @doonfrs
- Fix: Apply rowWrapper to frozen column rows. @doonfrs
- Test: Fix outdated test expectations for time cell and pagination. @doonfrs
- Docs: Add comprehensive scrollPhysics documentation and tests (#263). @doonfrs
-
2.1.030 Sep 2025Release notes
Open source →- Feature: Added comprehensive translations for pagination and time picker. @doonfrs
- Feature: Added pagination enhancements with global configuration (#228). @doonfrs
- Feature: Added simplified column filter API methods for programmatic filter management. @doonfrs
- Feature: Enable column filter visibility in TrinaGrid. @doonfrs
- Fix: Include hidden columns when creating new rows (#226). @doonfrs
- Fix: Update sdk, apply standard dart formatting to all file (#222). @doonfrs
- Fix: Pagination theme updates and height accumulation bug (#221). @doonfrs
- Fix: Export TrinaDropdownMenuVariant to make it publicly accessible (#220). @doonfrs
- Fix: Restored mouse scrolling/dragging functionality that was broken since v1.6.11. @doonfrs
- Breaking Change: Enhanced rowWrapper callback to include TrinaRow data parameter and renamed row widget parameter to rowWidget for clarity. @doonfrs
- Refactor: Use polymorphism to build cell widgets (#167). @DMouayad
- Test: Added comprehensive unit tests for column filter functionality (#209). @doonfrs
- Test: Added comprehensive unit tests for rowWrapper functionality. @doonfrs
- Docs: Added documentation for checkReadOnly dynamic cell read-only functionality (#223). @doonfrs
-
2.0.201 Sep 2025Nothing published for this version
-
2.0.101 Sep 2025Release notes
Open source →- Feature: Enhanced filter color customization system. @doonfrs
- Feature: Added cell-level padding property to TrinaCell. @doonfrs
- Feature: Added validate parameter to changeCellValue method. @doonfrs
- Feature: Added keyboard event handling to TrinaCell. @doonfrs
- Feature: Enhanced TrinaGrid with customizable cell text style. @doonfrs
- Feature: Added cell color functionality to TrinaGrid. @doonfrs
- Enhancement: Added cell field to TrinaGridOnChangedEvent. @doonfrs
- Fix: Preserved horizontal borders for cells with custom background colors. @doonfrs
- Fix: Set default cellReadonlyColor to null to use default cell style. @doonfrs
- Fix: Improved text cell vertical alignment during editing. @doonfrs
- Fix: Reduced multi-line filter icon size to 16px. @doonfrs
- Fix: Improved vertical centering and text styling for edited cells. @doonfrs
- Fix: Enabled onSelected callback to fire in normal mode with comprehensive row selection support. @doonfrs
- Fix: Resolved frozen row alignment issue with dynamic row heights. @doonfrs
- Fix: Improved popup handling in TrinaDateCell. @doonfrs
- Fix: Improved date time cell styling and height adaptation. @doonfrs
- Fix: Prevented cell overflow when both Row checking & drag are enabled. @DMouayad
- Fix: Fixed checkbox overflow in column title. @DMouayad
- Fix: Grid no longer absorbs unregistered shortcuts. @DMouayad
- Fix: Key events now properly ignored when grid doesn't have primary focus. @DMouayad
- Fix: Editing popup no longer shown for readonly cells. @DMouayad
-
2.0.017 Aug 2025Release notes
Open source →- Feature: Added new popup cells editing widget, including TrinaSelectMenu, TrinaTimePicker, and TrinaPopup. @DMouayad
- Feature: Added dynamic row height support. @doonfrs
- Fix: Ensure combined date and time validation in TrinaDateTimeCell. @DMouayad
- Feature: Improved initial value handling for date/time pickers. @DMouayad
- Feature: Enhanced pagination footer with direct page input functionality. @doonfrs
- Feature: Added CustomFooterScreen to demo and home screens. @doonfrs
- Feature: Improved time picker UI with scroll-to-change hint. @DMouayad
- Feature: Added closePopupOnSelection option for date columns. @DMouayad
- Feature: Added examples for select and time column constraints in editing popups. @DMouayad
- Fix: Prevent sorting from being triggered when clicking context menu in custom title. @DMouayad
- Feature: Added loading customization to TrinaLazyPagination. @DMouayad
- Feature: Added custom pagination UI and demo support. @DMouayad
- Fix: Corrected empty cell value handling for date/dateTime columns with custom format. @DMouayad
- Fix: Corrected column title height when enableColumnDrag is false. @DMouayad
- Feature: Added read-only color configuration to TrinaGrid. @doonfrs
-
1.6.1230 Jul 2025Release notes
Open source →- Revert Merge cell feature and add it to private branch. ( by @doonfrs )
- Fix 'There may be a logical error statement in the file filtered_list.dart' ( by @doonfrs )
-
1.6.1127 Jul 2025Release notes
Open source →- fix: can't start editing while pressing SHIFT key ( by @DMouayad )
- fix: update number formatting in TrinaAggregateColumnFooter ( by @doonfrs )
- fix bug [Bug] Drag&Drop moves selected row but not the dragged row ( by @doonfrs )
- fix bug [Bug] TrinaColumn.formattedValueForType() has to call column types applyFormat() in case TrinaColumnTypeHasFormat implemented by column type. ( by @doonfrs )
- feat: add cell merging functionality ( by @doonfrs )
- fix: column-title background color not applied ( by @DMouayad )
- fix: handle null maxWidth in layout offsets ( by @doonfrs )
- dev: move pluto grid reference into support section ( by @Elia Tolin )
- dev: increase size of Try Live Demo and convert to paragraph "please star" section ( by Elia Tolin)
- fix: unregistered key events do not function when grid in focus ( by @DMouayad)
- fix: Fix empty cell value for date\dateTime columns with custom format (#129) ( by @DMouayad )
-
1.6.1008 Jul 2025Release notes
Open source →- fix: show_column_menu in scaled screens ( by @WagDevX )
- Use NumberFormat to format the value of TrinaAggregateColumnFooter ( by @DMouayad )
- fix: discontinued cells vertical border when enableCellBorderHorizontal is false ( by @DMouayad )
- fix: change tracking doesn't work when pasting into a cell ( by @DMouayad )
- fix: change tracking doesn't work when cell initial value is null ( by @DMouayad )
- fix: validation in TrinaColumnTypeDate by using dateFormat instead of DateTime for parsing ( by @DMouayad )
- Add configuration for cell border width ( by @DMouayad )
- fix: column sorting when TrinaColumn.titleRenderer is provided ( by @DMouayad )
- Implement RTL-aware movement for grid navigation ( by @doonfrs )
- Fix column freezing not resorted #110 ( by @DMouayad )
- fix failing tests for cell height in popup grids ( by @DMouayad )
-
1.6.928 May 2025Release notes
Open source →- Fix text input bug where the first character is replaced when typing the second character ( by @doonfrs )
- Add enableAutoSelectFirstRow option to automatically select the first row when in selection mode ( by @doonfrs )
- Add TrinaFilterTypeRegex for filtering using regular expressions (#64) ( by @doonfrs )
- Fix row color bug when activatedColor is transparent ( by @doonfrs )
- Add expandAllRowGroups and collapseAllRowGroups methods to TrinaGridStateManager ( by @doonfrs )
- Add expand flag to toggleExpandedRowGroup method ( by @doonfrs )
- Remove Smooth scrolling, it is not ready in the flutter stable version yet ( by @doonfrs )
-
1.6.807 May 2025Release notes
Open source →- Fix focus issue when header is a TextField or TextFormField ( by @doonfrs )
- Add RowWrapperScreen to navigation and home screen; update demo with new feature tile ( by @doonfrs )
- Introduce Multi-Items Filter ( by @doonfrs )
- Enhance moving to next row when enter key action is editingAndMoveRight ( by @doonfrs )
- Enhance RTL support by fixing scrollbar positioning and adding RTL scrollbar demo ( by @doonfrs )
-
1.6.714 Apr 2025Release notes
Open source →- Introduce date time column type, add example & documentation ( by @doonfrs )
- Add filterEnterKeyAction to TrinaColumn for controlling keyboard navigation in column filters ( by @doonfrs )
- Update row color example ( by @doonfrs )
- Fix horizontal scrollbar calculation issue for the header & footer ( by @doonfrs )
- Added filterIcon option to TrinaGridStyleConfig ( by @doonfrs )
-
1.6.631 Mar 2025Release notes
Open source →- Fix lazy pagination rebuild issue for simple pagination & refresh
- Add TrinaGridChangeLazyPageEvent ( by @slavap )
- Flutter 3.27 compatibility ( by @slavap )
- Introduce TitleRenderer for customizable column titles ( by @doonfrs )
- Implement custom loading widget support and add Loading Options feature to documentation and demo ( by @doonfrs )
- Introduce Percentage Column Type ( by @doonfrs )
- add decimalInput option to percentage column type ( by @doonfrs )
- fix unit tests, all tests working, remove skipped tests, translate Korean comments to English ( by @doonfrs )
-
1.6.523 Mar 2025Release notes
Open source →- Add PDF export functionality with customizable options
- Introduced PDF export capabilities in the grid export feature, allowing users to export data in PDF format.
- Added options for customizing PDF title, creator, orientation, header and text colors, and styling through a new
TrinaGridExportPdfSettingsclass. - Updated the export dialog to include PDF-specific settings and improved the user interface for selecting columns to export.
- Enhanced documentation to reflect new PDF export features and usage examples.
- Export TrinaColumnTypeHasFormat
-
1.6.420 Mar 2025Release notes
Open source →- Use dynamic for column menu delegate, instead of String, update the documentation
- Add ignoreFixedRows option to CSV, JSON, and PDF exports for better data handling
-
1.6.320 Mar 2025Release notes
Open source →- Fix selected row style
- Include current row with currentSelectedRows list in case of grid selection mode is row.
- add missing arguments to gridConfiguration.copyWith
- Update column menu example allow merging with the default menu
- Simplify the column menu delegate, adding example for removing one of the default menu items
- Add demo for displaying different menu items for specific columns, update the documentation
-
1.6.219 Mar 2025Release notes
Open source →- Enhance Export, fix bug with visible columns
- Change getVisibleColumns to getViewPortVisibleColumns
- Add documentation for view port visible columns, gotoColumn
-
1.6.119 Mar 2025Release notes
Open source →- Fix scrollbar drag performance issue
- Add export service to export grid data to csv, pdf, json
-
1.6.018 Mar 2025Release notes
Open source →- Refactor scrollbars to be more efficient, support more styling & draggable, add example & documentation
- Add filter to the demo screen to make it easier to find a feature demo code.
- Add some gif images to the documentation, document more features
- add onLazyFetchCompleted event
- add initial export service to export grid data to csv, pdf, json ( under development )
- Update the documentation for boolean columns
- Add scrollbar thumb hover color
-
1.5.114 Mar 2025 -
1.4.1511 Mar 2025 -
1.4.1411 Mar 2025Release notes
Open source →- Added cell validator for plutoColumn & onValidationFailed for TrinaGrid
- updated some docs
-
1.4.1310 Mar 2025