basicDataGrid function

  1. @Preview(name: 'Basic Data Grid')
Widget basicDataGrid()

Implementation

@Preview(name: 'Basic Data Grid')
Widget basicDataGrid() {
  final data = List.generate(
    20,
    (index) => {
      'id': index + 1,
      'name': 'User ${index + 1}',
      'email': 'user${index + 1}@example.com',
      'status': index % 3 == 0 ? 'Active' : 'Inactive',
      'created': DateTime.now().subtract(Duration(days: index)),
    },
  );

  final dataSource = _LocalDataGridSource(data: data);

  final controller = VooDataGridController(
    dataSource: dataSource,
    columns: [
      const VooDataColumn<dynamic>(field: 'id', label: 'ID', width: 60),
      const VooDataColumn<dynamic>(field: 'name', label: 'Name', flex: 2),
      const VooDataColumn<dynamic>(field: 'email', label: 'Email', flex: 3),
      const VooDataColumn<dynamic>(field: 'status', label: 'Status', width: 100),
    ],
  );

  dataSource.loadData();

  return Material(
    child: SizedBox(height: 400, child: VooDataGrid(controller: controller)),
  );
}