Como corrigir meu script para adicionar função de retorno de chamada de linha em tabelas de banco de dados
Eu apreciaria qualquer ajuda em emendar meu script para adicionar função de retorno de chamada de linha em tabelas de banco de dados.
Usando tabelas de dados, quero mostrar o número da linha. Eu encontrei o código fornecido por @Pehmolelu em resposta a uma pergunta semelhante, mas como esta é a minha primeira tentativa com bases de dados e javascript. Não sei o suficiente sobre a sintaxe para colocá-los juntos. O script que estou usando atualmente:
<script> type="text/javascript">
$(document).ready(function(){ $('table').DataTable({
searching:true,
ordering:false,
paging:true,
"bLengthChange": false,
lengthMenu:[31],
})
});
</script>
Isso é o que eu acho que mostrará o número da linha fornecido por @Pehmolelu:
var index = iDisplayIndex +1;
$('td:eq(0)',nRow).html(index);
return nRow;
E eu sei que envolve adicionar:
"fnRowCallback": function( nRow, aData, iDisplayIndex )
Eu também tentei esse código, mas ele mostra o número da linha para cada linha, portanto, se houver cem linhas, ele mostrará 1-100. O que eu quero é que funcione com a paginação. Portanto, se definido para 20 linhas por página, cada página mostraria as linhas 1-20.
$(document).ready(function() {
var t = $('table').DataTable( {
"columnDefs": [ {
"searchable": false,
"orderable": false,
"targets": 0
} ],
"order": [[ 1, 'asc' ]]
} );
t.on( 'order.dt search.dt', function () {
t.column(0, {search:'applied', order:'applied'}).nodes().each( function (cell, i) {
cell.innerHTML = i+1;
} );
} ).draw();
} );
Eu sei que é muito básico, mas eu realmente apreciaria qualquer ajuda. obrigado
Respostas
Caso ajude mais alguém e estudando as informações do @Pirate aqui é o que achei que funciona.
<script> type="text/javascript">
$(document).ready(function(){ $('#table').DataTable({
searching:true,
ordering:false,
paging:true,
"bLengthChange": false,
lengthMenu:[31],
"fnRowCallback": function (nRow, aData, iDisplayIndex) {
var index = iDisplayIndex +1;
$('td:eq(0)',nRow).html(index);
return nRow;
}
});
});
</script>