onDataSourceSuccess method
Implementation
@override
Future<bool> onDataSourceSuccess(IDataSource source, Data? list) async {
busy = true;
int index = 0;
// save pointer to data source
myDataSource = source;
if (list != null) {
clean = true;
// clear items
items.forEach((_, item) => item.dispose());
items.clear();
// Populate grid items from datasource
for (var row in list) {
var model = GridItemModel.fromXml(parent!, prototype, data: row);
if (model != null) {
// set the index
model.index = index;
// set the selected data
if (model.selected == true) {
// this must be done after the build
WidgetsBinding.instance
.addPostFrameCallback((_) => data = model.data);
}
// add to items list
items[index++] = model;
}
}
_dataset = list;
notifyListeners('list', items);
}
busy = false;
return true;
}