singleSortConstraint function

  1. @Preview(name: 'Single Sort Constraint')
Widget singleSortConstraint()

Implementation

@Preview(name: 'Single Sort Constraint')
Widget singleSortConstraint() {
  final data = List.generate(
    30,
    (index) => {'id': index + 1, 'name': 'Item ${index + 1}', 'value': (index + 1) * 10, 'status': index % 2 == 0 ? 'Active' : 'Inactive'},
  );

  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: 'value', label: 'Value', width: 100),
      const VooDataColumn<dynamic>(field: 'status', label: 'Status', width: 100),
    ],
    // constraints: VooDataGridConstraints.singleSort, // Constraints would be added here
  );

  dataSource.loadData();

  return Material(
    child: Column(
      children: [
        Container(
          padding: const EdgeInsets.all(8),
          color: Colors.blue.withValues(alpha: 0.1),
          child: const Row(
            children: [
              Icon(Icons.info_outline, size: 16, color: Colors.blue),
              SizedBox(width: 8),
              Text('Single Sort Mode: Only one column can be sorted at a time', style: TextStyle(fontSize: 12, color: Colors.blue)),
            ],
          ),
        ),
        Expanded(child: VooDataGrid(controller: controller)),
      ],
    ),
  );
}