web-dev-qa-db-fra.com

Comment parcourir toutes les lignes dans DataTables jQuery?

J'utilise le plugin jquery D ataTables pour construire une belle table

  var table = $('#example').DataTable({
    "data": source
});

Je voudrais que cela fasse un chacun pour toutes les lignes du tableau

Malheureusement, cette méthode peut être obsolète et ne fonctionne pas avec la nouvelle version (elle lance une erreur)

$(table.fnGetNodes()).each(function () {

});

Et cette méthode ne fonctionne que pour les lignes visibles (10 premières lignes car les autres lignes sont paginées)

 table.each( function ( value, index ) {
    console.log( 'Data in index: '+index+' is: '+value );
} );

Savez-vous comment boucler sur toutes les lignes s'il vous plaît?

20
Vivien Pipo

J'ai finalement trouvé:

 var data = table.rows().data();
 data.each(function (value, index) {
     console.log(`For index ${index}, data value is ${value}`);
 });
32
Vivien Pipo

Si vous utilisez les DataTables hérités, vous pouvez obtenir toutes les lignes même celles paginées, comme indiqué ci-dessous ...

table.fnGetNodes(); // table is the datatables object.

Nous pouvons donc parcourir les lignes en utilisant la méthode .each() fournie par jQuery.

jQuery(table.fnGetNodes()).each(function () {
// You can use `jQuery(this).` to access each row, and process it further.            
});
7
Mohd Abdul Mujib

Les tables de données ont un itérateur pour chaque ligne rows (). Every () avec this faisant référence au contexte de la ligne en cours d'itération.

tableName.rows().every(function(){
    console.log(this.data());
});
7
Athman