Last updated:
0 purchases
mahop data table
(Last Update of this info: 21th of July 2024)
MaHop DataTable and more - What is included? #
Collection of widgets to display a DataTable, ListView and GridView with Virtual Scrolling
With a lot of functionality build in
perfect virtual scrolling even with individual row heights
drag and drop reorder
drag and drop from and to other widgets
sorting and filtering
column reorder and resize
saving the layout (current column width, positions and visibility) to a JSON string
inline edit, multiline edit
selection with different selection modes
jump to row
...
and much more - see demo app and features section below
Pro Version with extended functionality
TreeView,
TreeListView (hierachical DataTable)
Demos, Sample Code and Pro Version #
See https://flutterdemo.mahop.net
and https://flutter.mahop.net
WARNING! Status of this project is BETA! #
We reached the first Beta Version. Now the public API will not change very much any more.
During the next weeks we will test a lot and do refactoring in "private" code.
We still recomment:
DON'T USE FOR PRODUCTION until Version 1.0!
Screenshot of the first sample in the demo app
Contribute #
Like the project on pub.dev
Use the code and report bugs
You can support development buying one or more glasses of orange juice. (or cups of coffee)
https://www.buymeacoffee.com/mahop
Buy a Pro license on https://flutter.mahop.net (from 150,- EURO / year)
Features #
Perfect virtual scrolling using flutters TwoDimensionalScrollView
Display a million and more rows with high performance
Display rows with different RowHeights
Advanced Drag and Drop
Reordering (built in)
Multi Drag and Drop (also for reordering)
Drag and Drop to and from other Widgets
from DataTable to and from another DataTable
from DataTable to and from a TreeView
from DataTable to a Flutter DropTarget
from GridView to and from a ListView
... and so on ...
Auto scrolling during drag and drop
Column resize and reorder on DataTable and TreeListView
Saving the current state as JSON string
Applying as saved state from JSON string
JumpTo(item) with height performance
Selection
Single selection
CheckBox selection (mutliple items)
Extended selection - for Desktop with Mouse click + shift and/or ctrl keys (multiple items)
Extended selection can be combined with CheckBox selection
And more to come in the next versions...
Usage #
// ----------------------------------------------
// - Sample build function - very simple usecase
// ----------------------------------------------
Widget buildMhItemsView(BuildContext context) {
// --------------------------------------------
// - Build some sample data
// --------------------------------------------
final List<ExampleItem> items = [];
for (var i = 1; i <= 100; i++) {
items.add(ExampleItem(text: "Example Item $i", index: i));
}
// --------------------------------------------
// - Build the Column definitions you need
// --------------------------------------------
List<MhItemsViewColumnDef<ExampleItem>> columnDefs = [];
columnDefs.add(MhItemsViewColumnDef<ExampleItem>(id: "index", header: "Index", columnWidth: 50, getDisplayValue: (item) => item.index));
columnDefs.add(MhItemsViewColumnDef<ExampleItem>(id: "text", header: "Text", columnWidth: 250, getDisplayValue: (item) => item.text));
columnDefs.add(MhItemsViewColumnDef<ExampleItem>(id: "calculated", header: "Calculated", columnWidth: 250, getDisplayValue: (item) => item.index * item.index));
// --------------------------------------------
// - apply needed settings
// --------------------------------------------
final settings = MhItemsViewSettings(rowHeight: 25, headerHeight: 30, displayHeader: true);
return MhItemsView(itemsSource: items, columnDefs: columnDefs, settings: settings),
};
copied to clipboard
Additional information #
Go to https://flutter.mahop.net to learn more about the widget and look at the demos with sample code.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.