late
EmployeeDataSource _employeeDataSource;
List<Employee>
_employees = <Employee>[];
class
_SfDataGridDemoState extends State<SfDataGridDemo> {
DataGridController dataGridController = DataGridController();
late CustomSelectionManager
customSelectionManager;
@override
void initState() {
super.initState();
_employees = getEmployeeData();
_employeeDataSource =
EmployeeDataSource(_employees);
customSelectionManager = CustomSelectionManager(dataGridController);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const
Text('Syncfusion Flutter SfDataGrid')),
body: SfDataGrid(
source: _employeeDataSource,
columns: getColumns,
controller: dataGridController,
selectionMode: SelectionMode.single,
selectionManager: customSelectionManager,
columnWidthMode:
ColumnWidthMode.fill));
}
}
class
CustomSelectionManager extends RowSelectionManager {
CustomSelectionManager(this.dataGridController);
DataGridController dataGridController;
@override
void handleKeyEvent(RawKeyEvent keyEvent) {
if (keyEvent.logicalKey ==
LogicalKeyboardKey.enter) {
dataGridController.selectedRow =
_employeeDataSource.dataGridRow[4];
//You can write your logic
return;
}
super.handleKeyEvent(keyEvent);
}
}
|