nova_grid 0.2.0 copy "nova_grid: ^0.2.0" to clipboard
nova_grid: ^0.2.0 copied to clipboard

NovaGrid is a modern Flutter data table. Built for flexibility, styling, and performance on the web and mobile.

NovaGrid #

NovaGrid is a highly customizable and modern Flutter table package built to handle everything from simple data lists to advanced tables with stacked headers and pagination.

It is designed for Flutter web and desktop applications where native-feeling, interactive data tables are crucial.


📄 What It Is #

NovaGrid is a flexible and extendable table widget:

  • Customizable column definitions
  • Auto-fit column widths (content-based scaling)
  • Fixed row height for consistent layouts
  • Optional pagination
  • Support for simplified stacked (merged) headers
  • Sortable columns
  • Clean, professional UI
  • Designed with accessibility and performance in mind

📝 Basic Usage #

NovaGrid(
  columns: [
    TableColumn(title: 'Name'),
    TableColumn(title: 'Age'),
    TableColumn(title: 'Role'),
  ],
  rows: [
    [Text('Alice'), Text('25'), Text('Engineer')],
    [Text('Bob'), Text('30'), Text('Designer')],
  ],
)

🔢 Example with Auto-fit and Simplified Stacked Headers #

NovaGrid(
  columns: [
    TableColumn(
        title: 'Name',
        autoFit: true, // Automatically expands to fit content
        ),
    TableColumn(title: 'Role', autoFit: true),
    TableColumn(title: 'Country', width: 150),
  ],
  rows: [...],
  showPagination: true,
  rowsPerPage: 10,
  stackedHeaders: [
    StackedHeader(
      startIndex: 0,
      endIndex: 1,
      widget: Center(child: Text('User Details')), // Width is calculated automatically!
    ),
  ],
)

📷 Screenshots #

  • Basic Table Basic Table

  • Stacked/Multi-Header Table Stacked Header Table

  • Pagnated Table Pagnated Table


✏️ Customization Options #

Property Type Description
columns List<TableColumn> Defines each column header
rows List<List<Widget>> Defines the cell contents
rowHeight double Height of each row (default: 56)
rowsPerPage int? Optional pagination size
showPagination bool Whether to show pagination controls
headerColor Color? Customize header background color
stackedHeaders List<StackedHeader>? Define merged headers across columns
sortable bool Enable column sorting
autoFit bool (In TableColumn) Auto-size based on content

🚀 Future Roadmap #

  • ❌ Sticky headers
  • ❌ Export to CSV/Excel
  • ❌ Async Pagination
  • ❌ In-build search filters

🌐 Metadata Files #

LICENSE (MIT) #

MIT License

Copyright (c) 2025

🚀 Contributing #

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.


🙏 Credits #

Crafted with passion by Haja Mohdn and lots of coffee.

✨ Happy Coding! #

1
likes
160
points
144
downloads

Publisher

unverified uploader

Weekly Downloads

NovaGrid is a modern Flutter data table. Built for flexibility, styling, and performance on the web and mobile.

Repository (GitHub)
View/report issues

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

cupertino_icons, flutter

More

Packages that depend on nova_grid