Saltar al contenido

Flutter DataTable – Toque en la fila

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *