2017-07-21 1 views
0

Est-il possible de désactiver dynamiquement la pagination sur un pied de page ayant une pagination, afin que toutes les données de la table puissent être imprimées pour exceller? Par exemple, si la table a une pagination, mais qu'elle clique sur exporter, elle désactivera la pagination et affichera toutes les données sans pagination, de sorte que les données puissent être exportées avec Excel.Footable.js: Désactiver la pagination avant l'exportation Excel

Cela semble se débarrasser de la pagination, mais seules les données de la première page resteront.

$(".foo-table").footable({ paginate: false }); 

Code actuel:

var ft = FooTable.init('.foo-table'); 

function populateContractorPayments(values, reload) { 
     //check filters 
     $.getJSON("/PaymentsApi/GetContractorPayments", { values: JSON.stringify(values) }, function (data) { 
      //console.log("Got Contractor Payments"); 
     }).done(function (model) { 

       viewModel = ko.mapping.fromJS(model); 
       var jsModel = ko.toJS(viewModel); 
       ko.applyBindings(viewModel); 
       //Set Page Filters 
       var filters = [], def = 'All Users'; 
       $.each(jsModel, function (i, val) { 
        $.each(val.Roles, function (i, val) { 
         if (!filters.includes(val)) { 
          filters.push(val); 
         } 
        }) 
       }); 
       setPageFilters(filters, def); 
       ft; 
    } 

function printToExcelClick() { 
     $(".foo-table").footable({ paginate: false }); 
     $(".foo-table").tableExport();  
    } 

Répondre

0

Vous pouvez le faire en réglant le pageSize à quelque chose de plus que le montant total de lignes.

var newSize = 5000,  
FooTable.get('.foo-table').pageSize(newSize); 

De cette façon, la pagination est désactivée et vous pouvez afficher toutes les lignes sur une page.

Espérons que ça aide :)