Solución:
puede utilizar la propiedad onSelectChanged de DataRow.
rows: items
.map(
(itemRow) => DataRow(
onSelectChanged: (bool selected) {
if (selected) {
log.add('row-selected: ${itemRow.index}');
}
},
cells: [
// ..
],
),
Prueba esto :
DataTable(
showCheckboxColumn: false, // <-- this is important
columns: [
DataColumn(label: Text('FirstName')),
DataColumn(label: Text('LastName')),
],
rows:[
DataRow(
cells: [
DataCell(Text(obj['user1'])),
DataCell(Text(obj['name-a'])),
],
onSelectChanged: (newValue) {
print('row 1 pressed');
},
),
DataRow(
cells: [
DataCell(Text(obj['user2'])),
DataCell(Text(obj['name-b'])),
],
onSelectChanged: (newValue) {
print('row 2 pressed');
},
),
]
),
Espero que esto ayude. Gracias
Cada DataCell
tiene un onTap
llamar de vuelta. Puede usar esto sin que aparezca la casilla de verificación que no se puede ocultar en las filas de la tabla. Por ejemplo
DataCell(Text(itemrow.itemname),
onTap: () {
// Your code here
})
Esto funciona para mi. Si quieres el onTap
trabajar para todo el DataRow
en lugar de solo un DataCell
, podría agregar la lógica a la onTap
de cada DataCell
y obtenga el resultado deseado.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)