easy_table 0.2.0 easy_table: ^0.2.0 copied to clipboard
A full customized table that builds the cells on demand. Focused on Web/Desktop Applications. Bidirectional scroll bars.
Easy Table #
- Ready for a large number of data. Building cells on demand.
- Focused on Web/Desktop Applications.
- Bidirectional scroll bars (always visible).
- Highly customized.
Usage #
Get started #
List<Person>? _rows;
@override
void initState() {
super.initState();
_rows = [
Person('Landon', 19),
Person('Sari', 22),
Person('Julian', 37),
Person('Carey', 39),
Person('Cadu', 43),
Person('Delmar', 72)
];
}
@override
Widget build(BuildContext context) {
return EasyTable<Person>(rows: _rows, columns: [
EasyTableColumn.auto((row) => row.name, name: 'Name'),
EasyTableColumn.auto((row) => row.age, name: 'Age')
]);
}
Custom cell #
List<Person>? _rows;
@override
void initState() {
super.initState();
_rows = [
Person('Landon', 1),
Person('Sari', 0),
Person('Julian', 2),
Person('Carey', 4),
Person('Cadu', 5),
Person('Delmar', 2)
];
}
@override
Widget build(BuildContext context) {
return EasyTable<Person>(rows: _rows, columns: [
EasyTableColumn.auto((row) => row.name, name: 'Name'),
EasyTableColumn.builder((context, row) => StarsWidget(stars: row.stars),
name: 'Rate', initialWidth: 150)
]);
}
TODO #
- Collapsed rows
- Header grouping
- Row selection
- Custom headers
- Cell edition
- Column reorder
- Column resize
- Pinned column
- Sort
- More theming options
- And everything else, the sky is the limit