easy_flutter_table

Is a customizable and responsive Flutter table widget designed to handle dynamic data with features like sorting, pagination, row expansion, selection with checkboxes, and search filtering. It's ideal for building professional, flexible data tables in your Flutter apps with minimal setup.

๐Ÿ“ฆ Installation

Add the latest version of easy_flutter_table to your pubspec.yaml:

dependencies:
  easy_flutter_table: latest version

Demo

Table

Properties

Property Type Description
headers List<HeaderItem> The list of table headers, including metadata for sorting, filtering, alignment, and width.
items List<Map<String, dynamic>> The data to be displayed in the table, with each item representing a row.
expanded bool Enables row expansion to show additional details below each row.
expandedBuilder Widget Function(Map<String, dynamic> item)? Builder function for the content shown when a row is expanded.
rowStyleBuilder BoxDecoration Function(Map<String, dynamic> item, int index)? Allows custom styling of rows dynamically.
loadingConfig LoadingItem Configuration for the loading state (e.g., shimmer or placeholder rows).
showSelect bool Enables checkbox selection for rows.
onSelectionChanged void Function(List<Map<String, dynamic>> selectedItems)? Callback triggered when selected rows change.
style TableStyle? Custom style configuration for the table, including colors, spacing, and borders.
primaryKey String The unique key used to identify rows, required for sort, filter, and select behavior.
searchBarStyle SearchBarStyle? Optional configuration for the search input (e.g., background color, hint text, border).
pageInfoTextBuilder String Function(int start, int end, int total)? Customizes the text displayed below the table showing page info.
rowsPerPageText String? Overrides the label for the "Rows per page" selector.
cellBuilder Widget Function(Map<String, dynamic> item, HeaderItem header)? Optional builder to customize cell content per row and column

๐Ÿ“ Example

For a complete usage example, check out the /example directory in this repository. There you'll find a practical demonstration of the table with customizations and interactions.

๐Ÿ“ฎ Contribution

Contributions are welcome!
Feel free to open an issue or submit a pull request. ๐Ÿ˜Š

๐Ÿ“ License

Distributed under the MIT License.
See the LICENSE file for more information.

๐Ÿ‘จโ€๐Ÿ’ป Author

Developed by Rรดmulo Rodrigues.
Questions or suggestions? Open an issue.

Libraries

easy_flutter_table