Comment modifier mon script pour ajouter une fonction de rappel de ligne dans les tables de base de données

Dec 04 2020

J'apprécierais toute aide pour ammending mon script pour ajouter la fonction de rappel de ligne dans les tables de base de données.

En utilisant des tables de données, je veux afficher le numéro de ligne. J'ai trouvé le code fourni par @Pehmolelu en réponse à une question similaire mais comme c'est ma toute première tentative avec databasebles et javascript. Je ne connais pas assez la syntaxe pour les assembler. Le script que j'utilise actuellement:

<script> type="text/javascript">
                
          $(document).ready(function(){ $('table').DataTable({          
                   searching:true, 
                   ordering:false,
                   paging:true,
    "bLengthChange": false,
                   lengthMenu:[31], 
 
                })
            });
</script>

C'est ce que je pense affichera le numéro de ligne fourni par @Pehmolelu:

var index = iDisplayIndex +1;
$('td:eq(0)',nRow).html(index);
return nRow;

Et je sais que cela implique d'ajouter:

"fnRowCallback": function( nRow, aData, iDisplayIndex )

J'ai également essayé ce code, mais ce code montre le numéro de ligne pour chaque ligne, donc s'il y a cent lignes, il affichera 1-100. Ce que je veux, c'est que cela fonctionne avec la pagination. Ainsi, si elle est définie sur 20 lignes par page, chaque page affichera les lignes 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();
} );

Je sais que c'est très basique mais j'apprécierais vraiment toute aide. Merci

Réponses

Noname Dec 05 2020 at 19:53

Au cas où cela aiderait quelqu'un d'autre et étudier les informations de @Pirate, voici ce que j'ai trouvé fonctionne.

<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>