I am adding SfDataGrid to my web app in Flutter Every thing works fine only one issue i am facing as below.
Below is my DataSourceMethod for SfDataGrid`
class EmployeeDataSource extends DataGridSource {
EmployeeDataSource({required List<Employee> employees}) {
_employees = employees
.map<DataGridRow>((e) => DataGridRow(cells: [
DataGridCell<int>(columnName: 'id', value: e.id),
DataGridCell<String>(columnName: 'status', value: e.status),
DataGridCell<String>(columnName: 'name', value: e.name),
DataGridCell<String>(columnName: 'heartbeat', value: e.heartbeat),
DataGridCell<String>(columnName: 'visibility', value: e.visibility),
DataGridCell<String>(columnName: 'location', value: e.location),
DataGridCell<String>(columnName: 'connectors', value: e.connectors),
DataGridCell<String>(columnName: 'actions', value: e.actions),
])).toList();
}
List<DataGridRow> _employees = [];
@override
List<DataGridRow> get rows => _employees;
@override
DataGridRowAdapter? buildRow(DataGridRow row) {
return DataGridRowAdapter(
cells: row.getCells().map<Widget>((dataGridCell) {
return dataGridCell.columnName == "status" ?
Container(
alignment: Alignment.centerLeft,
padding: EdgeInsets.all(16.0),
child: Icon(
Icons.circle,
color:
colorFromCssString(
functions.getStatusColor(dataGridCell.value),
defaultColor:
Colors.black,
),
size:
24,
),
) : dataGridCell.columnName == "actions" ?
Row(
children: [
FlutterFlowIconButton(
borderColor: Colors.transparent,
borderRadius: 30,
borderWidth: 1,
buttonSize: 60,
icon: Icon(
Icons.edit,
color: Color(0xFF13345B),
size: 30,
),
onPressed: () {
print('IconButton pressed ...');
},
),
FlutterFlowIconButton(
borderColor: Colors.transparent,
borderRadius: 30,
borderWidth: 1,
buttonSize: 60,
icon: Icon(
Icons.remove_red_eye,
color: Color(0xFF13345B),
size: 30,
),
onPressed: () async {
//So When I Tap On This Button I need Entire Row Details.
},
),
],
) :
Container(
alignment: Alignment.centerLeft,
padding: EdgeInsets.all(16.0),
child: Text(
dataGridCell.value.toString(),
textAlign: TextAlign.start,
),
);
}).toList());
}
}
I am not able to get index when i click on button. Any one have idea how to get a particular row data when click on a button. I searched a lot but i only get data onCellTap method not on Button which i have added in DataGridRowAdapter.
Please help me on this if anyone have any idea. Thanks In Advance
You can get the entire details of the corresponding row from the row property in the buildRow method.