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...
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);
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 ?
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