2016-12-01 1 views
2

Ich benutze Datatable serverseitig ajax processing.Wenn ich datatable info exportieren Export Schaltflächen exportieren, ermöglicht es nur die aktuellen gerenderten Daten in dieser Datentabelle zu exportieren nicht die ganzen Raws. Dann habe ich viel gesucht und endlich eine Lösung dafür gefunden.Exportieren von CSV/PDF mit externen Filterbedingungen bei der Verwendung von Datatable Ajax Server Side Processing

Dieser Link hilft mir, die Lösung zu finden: https://datatables.net/forums/discussion/5505/server-side-processing-with-export-to-csv-and-pdf

Aber jetzt, meine Forderung kommt zu wenig different.How Datatable-Export-Tasten (meist erforderlich Taste ist CSV/Excel/PDF) anpassen Zum Exportieren von Datenzeilen werden diese entsprechend einiger Filter wiedergegeben, die vom Benutzer akzeptiert werden.

Zum Beispiel: Meine Datentabelle ist mit Informationen von Firmenmitarbeitern gefüllt. Inzwischen gibt es eine zusätzliche Filterbox für die Filterung von Mitarbeitern basierend auf ihrem Alter und Geschlecht. Diese Felder werden nicht in der Datentabelle gerendert wird mit Daten gerendert, die der Filterbedingung entsprechen. Aber wenn ich versuche, diese Rohdaten zu exportieren, erhalte ich die gesamten Daten, ohne Filterbedingung anzuwenden.

So, wie diese Filterkriterien zusammen mit Datatable Export-Schaltfläche klicken?

Vielen Dank im Voraus ...

Antwort

0

über diesen Link https://datatables.net/forums/discussion/5505/server-side-processing-with-export-to-csv-and-pdf, ich hoffe, Sie $.fn.dataTable.TableTools.buttons.download = $.extend(); diese Funktion für die Anpassung von Datentabelle export.Inside haben, die Sie auch "fnClick": function(button, config) {} diese Funktion und form object haben. Wenn ja, bitte die folgenden Codes folgen:

 var input = contentWindow.document.createElement('input'); 
     input.name = 'formserachval'; 

     var myObject = new Object(); 
     if($('#age').val()!='') 
      myObject.age=$('#age').val(); 

     if($('#gender').val()!='') 
      myObject.gender=$('#gender').val(); 

     input.value = JSON.stringify(myObject); 

     form.appendChild(input); 
     contentWindow.document.body.appendChild(form); 
     form.submit(); 

Und aus dem PHP-Ende, können wir diese Werte, indem Sie den Code unten wieder:

 $post_arr_all = Input::all();   
     $post_arr_serachbox = json_decode($post_arr_all['formserachval'],TRUE); 
     $age=(!empty($post_arr_serachbox['age']))?$post_arr_serachbox['age']:'~'; 
     $gender=(!empty($post_arr_serachbox['gender']))?$post_arr_serachbox['gender']:'~'; 

Hope this hilfreich :)

+1

Thank you so viel @ CelinVeronicca.Awesome Ergebnis habe ich es. – VironiJini

Verwandte Themen