Não consigo criar atributos personalizados com dados de coleta. Exemplo: <td data-order="data"></td>
. Criar atributos personalizados para a linha funciona bem, mas preciso criar atributos para uma célula ( <td>
). É possível? Este é o meu código ...
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);
Adicionar atributo no td não pode ser feito no lado do servidor. Mas isso pode ser feito no lado do cliente via script js usando createdRow
callback. Veja o trecho de exemplo abaixo. Fonte: 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');
}
});
Obrigado!! Esse código funciona bem;)
@yajra este
Comentários muito úteis
Adicionar atributo no td não pode ser feito no lado do servidor. Mas isso pode ser feito no lado do cliente via script js usando
createdRow
callback. Veja o trecho de exemplo abaixo. Fonte: http://datatables.net/forums/discussion/31139/how-to-add-data-attribute-in-a-cell-server-side