2016-04-30 11 views
1

Ich habe die folgende Initialisierung für meine Datentabellen:in Datentabellen Buttons Spalte von Export ausschließen

$(document).ready(function() { 
    $('.datatable').dataTable({ 
     dom: 'Bfrtip', 
     buttons: [ 
        { 
         extend: 'copyHtml5', 
         text: 'Copy Content to Clipboard', 
         className: 'btn', 
        }, 
        { 
         extend: 'excelHtml5', 
         text: 'XLS Download', 
         className: 'btn', 
         "mColumns": [ 8 ] 
        }, 
        { 
         extend: 'csvHtml5', 
         text: 'CSV Download', 
         className: 'btn', 
         "mRender": function (data, type, row) { 
          console.log(data); 
         } 

        }, 
     ], 

    }); 
}); 

I Datatable Buttons verwende als tabletools aus Datentabelle ist veraltet und versucht, viele Optionen:

"mRender": function (data, type, row) { 
           console.log(data); 
          } 

Auch versucht:

"mColumns": [ 8 ] 

Ich habe versucht, die verschiedenen Parameter in verschiedenen w Ays, aber da fehlt etwas in meinem Verständnis. Hilf mir bitte.

Danke.

Antwort

4

Suchen Sie nach exportOptions.columns, exportOptions lassen Sie ein column-selector auf die gleiche Weise definieren, wie Sie bestimmte Spalten für die Filterung und so weiter zielen würden. Beispiel umfasst nur die dritte und die vierte Spalte in einem PDF-Export:

$('#example').DataTable({ 
    dom: 'Bfrtip', 
    buttons: [ 
    { 
     extend: 'pdf', 
     exportOptions: { 
     columns: [ 2, 3 ] 
     } 
    } 
    ] 
}); 

Demo ->https://jsfiddle.net/r9Lqbhz4/

Weitere Beispiele:

exportOptions: { 
    columns: ':visible' //visible rows 
} 
exportOptions: { 
    columns: ['.export', '.important'] //by class selector 
} 

Und so weiter, siehe die oben column-selector erwähnt Seite,

Wie Kommentar: Alle sichtbaren Spalten bis auf eine Ausnahme:

exportOptions: { 
    columns: ':visible:not(:eq(2))' 
} 

Enthält alle sichtbaren Spalten außer Spalte 2, die dritte Spalte. Beachten Sie, dass der Spaltenindex eq() auf sichtbaren Spaltenindizes basiert.

+0

Gibt es eine "nicht" -Option für die Anzeige aller sichtbaren Spalten außer einer bestimmten? – pbarney

+0

@pbarney, Das war ein guter! Habe die Antwort aktualisiert. Sie können dafür jQuery ': not' und': eq' Selektoren verwenden. – davidkonrad