Smart Data Table Plus

A modern, responsive, and highly customizable Flutter data table widget with built-in pagination, sorting, and scrollbars.

smart_data_table_plus is designed to make displaying large amounts of tabular data simple while remaining flexible enough to fit a wide variety of Flutter applications.


✨ Features

  • 📱 Responsive layout for mobile, tablet, and web
  • ↔️ Horizontal and vertical scrolling
  • 📑 Sticky table header
  • 🔃 Column sorting
  • 📄 Built-in pagination
  • 🎨 Customizable UI
  • 📏 Adjustable row height
  • 📐 Adjustable column spacing
  • 🔲 Rounded table borders
  • ⚡ Generic support using <T>
  • 🧩 Custom row builder
  • 🚀 Lightweight and easy to use
  • ❤️ Null-safe


📷 Demo

Example Screenshot

Smart Data Table Plus Example


Installation

Add the package to your pubspec.yaml:

dependencies:
  smart_data_table_plus: ^1.0.0

or install from the command line:

flutter pub add smart_data_table_plus

Then import it:

import 'package:smart_data_table_plus/smart_data_table_plus.dart';

Quick Start

SmartDataTablePlus<Customer>(
  rowHeight: 60,
  titleHeader: const [
    "ID",
    "First Name",
    "Last Name",
    "Age",
  ],
  listData: customers,
  listItem: (customer) => [
    Text(customer.id),
    Text(customer.firstName),
    Text(customer.lastName),
    Text(customer.age.toString()),
  ],
)

Parameters

Property Description
listData List of data to display
titleHeader Table header titles
listItem Builds each row from your model
rowHeight Height of each row
columnSpacing Space between columns
borderRadius Table border radius
headerColor Header background color
sortIcon Custom sorting icon
currentPage Current page
rowsPerPage Number of rows per page

Example

See the complete example inside the example/ folder.

cd example
flutter run

Screenshots

Add screenshots inside:

screenshots/

Example:

screenshots/table.png
screenshots/mobile.png
screenshots/web.png

Then reference them in pubspec.yaml.


Why Smart Data Table Plus?

Unlike Flutter's built-in DataTable, Smart Data Table Plus provides:

  • Better responsiveness
  • Easier pagination
  • Generic model support
  • Cleaner API
  • Scrollbars
  • Modern UI
  • Highly customizable widgets
  • Better performance for large datasets

Platform Support

Platform Supported
✅ Android Yes
✅ iOS Yes
✅ Web Yes
✅ Windows Yes
✅ macOS Yes
✅ Linux Yes

Requirements

  • Flutter 3.x or newer
  • Dart 3.x or newer

Roadmap

Future updates may include:

  • Column filtering
  • Search support
  • Fixed columns
  • Frozen headers
  • Export to Excel
  • Export to CSV
  • Row selection
  • Multi-column sorting
  • Theme presets
  • Localization support

Contributing

Contributions are welcome!

  1. Fork the repository.
  2. Create a feature branch.
  3. Commit your changes.
  4. Push the branch.
  5. Open a Pull Request.

Please ensure your code is formatted and passes flutter analyze.


Issues

If you find a bug or would like to request a feature, please open an issue on the GitHub repository.


Author

Nget Sophun

Flutter Developer


License

This project is licensed under the MIT License. See the LICENSE file for details.


⭐ If this package helps your project, consider giving it a star on GitHub. Your support is greatly appreciated!