добавить кнопку настроить столбец в datatable
Я пытаюсь добавить кнопку с помощью id
пользователя в datatables с serverside я сделал несколько неудачных попыток, если кто-нибудь может мне помочь, я ценю это.
Это мой код datatables:
$('#jsontable').dataTable({
"oLanguage": {
"sUrl": "busca/pt-br.txt"
},
"responsive": true,
"processing": true,
"serverSide": true,
"ajax": "busca/busca_usuario.php"
});
это массив busca_usuario:
$columns = array(
array( 'db' => '`a`.`nome`', 'dt' => 0, 'field' => 'nome' ),
array( 'db' => '`a`.`cpf`', 'dt' => 1, 'field' => 'cpf' ),
array( 'db' => '`a`.`situacao`', 'dt' => 4, 'field' => 'situacao'),
array( 'db' => '`b`.`descricao`', 'dt' => 2, 'field' => 'descricao' ),
array( 'db' => '`c`.`descricao`', 'dt' => 3, 'field' => 'nomegh', 'as' => 'nomegh' ),
);
данные поступают таким образом:
{"draw":1,"recordsTotal":28,"recordsFiltered":28,"data":[{"0":"ADRIANO TESTE","1":"0000000000","4"
:"ativo","2":"Aluno","3":"Aluno 1ª série"}]}
мне Удалось добавить ссылку в столбце не хватает только удастся поймать id пользователя:
Оставляю моей попытки, чтобы помочь другим с той же сомнения:
$('#jsontable').dataTable({
"oLanguage": {
"sUrl": "busca/pt-br.txt"
},
"responsive": true,
"processing": true,
"serverSide": true,
"ajax": "busca/busca_usuario.php",
"aoColumnDefs" : [
{"data": null, "sDefaultContent": "<a href=teste.php?id=' + data[0] + '>teste</a>","aTargets": [5]}
]
});
3
1 answers
Хорошо, я хочу поместить здесь решения, чтобы другой пользователь с такой же проблемой удается решения.
Первый в busca_usuario добавил идентификатор пользователя id_usuario, как можно увидеть ниже:
$columns = array(
array( 'db' => '`a`.`id_usuario`', 'dt' => 0, 'field' => 'id_usuario' ),
array( 'db' => '`a`.`nome`', 'dt' => 1, 'field' => 'nome' ),
array( 'db' => '`a`.`cpf`', 'dt' => 2, 'field' => 'cpf' ),
array( 'db' => '`a`.`situacao`', 'dt' => 5, 'field' => 'situacao'),
array( 'db' => '`b`.`descricao`', 'dt' => 3, 'field' => 'descricao' ),
array( 'db' => '`c`.`descricao`', 'dt' => 4, 'field' => 'nomegh', 'as' => 'nomegh' )
);
После вызова datatables, я добавил столбец с кнопками, и скрывал столбец с Идентификаторами, pq меня не интересует, что она появится ниже:
$('#jsontable').dataTable({
"oLanguage": {
"sUrl": "busca/pt-br.txt"
},
"responsive": true,
"processing": true,
"serverSide": true,
"ajax": "busca/busca_usuario.php",
"aoColumnDefs": [
{
"bSearchable": false,
"bVisible": false,
"aTargets": [0] // aqui é a coluna do id como é a primeira é 0
},
{
"aTargets": [ 6 ], // o numero 6 é o nº da coluna
"mRender": function ( data, type, full ) { //aqui é uma funçãozinha para pegar os ids
return '<a class="editar fancybox.iframe" href="cadastro_editar.php?id=' + full[0] + '"><img src="imagens/editar.png" width="24px" height="24px" border=0 title="Editar usuário"/></a><a class="ficha fancybox.iframe" href="fichapessoal_editar.php?id=' + full[0] + '"><img src="imagens/atualiza.png" width="24px" height="24px" border=0 title="Editar ficha pessoal"/></a>';
}
}
]
});
3
Author: opeta, 2015-12-16 12:59:07