Laravel-datatables: Attributs dans la cellule td

Créé le 16 mars 2016  ·  3Commentaires  ·  Source: yajra/laravel-datatables

Résumé du problème ou de la demande de fonctionnalité

Je ne peux pas créer d'attributs personnalisés avec les données de collection. Exemple : <td data-order="data"></td> . Créer des attributs personnalisés pour la ligne fonctionne bien, mais j'ai besoin de créer des attributs pour une cellule ( <td> ). C'est possible? C'est mon code...

Extrait de code du problème

return Datatables::of($users)
            ->addColumn('action', function ($user) {
                return '<a href="#edit-'.$user->id.'" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-edit"></i> Edit</a>';
            })
            ->editColumn('id', '{{$id}}')
            ->removeColumn('password')
            ->setRowId('id')
            ->setRowClass(function ($user) {
                return $user->id % 2 == 0 ? 'alert-success' : 'alert-warning';
            })
            ->setRowData([
                'id' => 'test',
            ])
            ->setRowAttr([
                'color' => function($user){
                        return $user->color;
                }
            ])
            ->make(true);

Détails du système

  • Ubuntu
  • PHP 5.9
  • Laravel version 5.1

Commentaire le plus utile

L'ajout d'attributs sur td ne peut pas être effectué côté serveur. Mais cela peut être fait côté client via un script js en utilisant le rappel createdRow . Voir l'extrait d'exemple ci-dessous. Source : http://datatables.net/forums/discussion/31139/how-to-add-data-attribute-in-a-cell-server-side

$('#data-table').DataTable({
    ajax: 'some_url',
    createdRow: function( row, data, dataIndex ) {
        $( row ).find('td:eq(2)').attr('data-validate', '1');
    }
});

Tous les 3 commentaires

L'ajout d'attributs sur td ne peut pas être effectué côté serveur. Mais cela peut être fait côté client via un script js en utilisant le rappel createdRow . Voir l'extrait d'exemple ci-dessous. Source : http://datatables.net/forums/discussion/31139/how-to-add-data-attribute-in-a-cell-server-side

$('#data-table').DataTable({
    ajax: 'some_url',
    createdRow: function( row, data, dataIndex ) {
        $( row ).find('td:eq(2)').attr('data-validate', '1');
    }
});

Merci!! C'est le code qui fonctionne bien ;)

@yajra est-il supporté côté serveur maintenant ?

Cette page vous a été utile?
0 / 5 - 0 notes