добавить кнопку настроить столбец в 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]}
        ]
});
Author: opeta, 2015-12-16

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