2016-06-21 15 views
-1

Ich habe TableTools Dateiversion wie untenWie ändert man die Reihenfolge der Spalten beim Export von CSV-Daten in Datatables?

Datei: TableTools.min.js Version: 2.1.4

Ich habe ein Szenario, wie unter

  1. ich eine Datentabelle mit Export haben zu Excel/CSV (vom Kunden)
  2. In der Datentabelle benötige ich Spalten in der Reihenfolge 0,1,2,3,4 und so weiter
  3. Beim Exportieren in Excel brauche ich Spalten in der Reihenfolge 0,2, 1,4,3.

Ist das in Table Tools möglich? Wenn ja, könntest du mir bitte helfen.

bearbeiten ich folgenden Code haben:

"oTableTools": { 
    "sSwfPath": "path/to/swf/copy_csv_xls_pdf.swf", 
    "aButtons": [ 
     { 
      "sExtends": "collection", 
      "sButtonText": "Export", 
      "aButtons": [ 
       { 
        "sExtends": "csv", 
        "sFileName": "Sample.csv", 
        "oSelectorOpts": { 
          page: 'current' 
        }, 
        "mColumns": [1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16], 
        "fnClick": function (nButton, oConfig, oFlash) { 
         //$(".DTTT_button_xls").trigger('click'); 
         oTable.colReorder.order([ 1, 2, 3, 4, 16, 6, 7, 8, 9, 12, 13, 14, 15 ]); 
        } 
       }, 
       { 
        "sExtends": "xls", 
        "sFileName": "Sample.xls", 
        "oSelectorOpts": { 
         page: 'current' 
        }, 
        "mColumns": [1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16], 
       } 
      ], 
     } 
    ] 
}, 
+0

Warum down votes? – NullPointer

+0

'mColumns: [0,2,1,4,3]' ist der richtige Ansatz, aber es funktioniert nur zusammen mit 'sExtends', (soweit ich mich erinnere) - Sie sollten ernsthaft das Plug-in Tasten stattdessen betrachten, tut es das gleiche - viel einfacher, und ist gepflegt und mehr Crossbrowser-freundlich. Ihre 'oTableTools'-Struktur scheint ein bisschen seltsam zu sein, versuchen Sie es mit nur _one_ button und _no_ collection. Ich weiß nicht, wer runtergerutscht ist, die Leute sollten eine Erklärung hinterlassen, warum sie downvoted (meiner Meinung nach, wenn die Frage wie in diesem Fall fair und quadratisch ist und auch mit Codebeispiel gut geschrieben ist) haben die Balance ein wenig angepasst :) – davidkonrad

+0

@davidkonrad, Du hast recht. Ich habe versucht, Sie sagten oben, aber selbst mit Single 'sExtends' es funktioniert nicht. – NullPointer

Antwort

0

Es gibt keine vorhandenen Feature in Datentabellen zur Verfügung, die Spalten-Reihenfolge wieder, während sie exportieren.

Also musste ich einen PHP Code auf der Serverseite schreiben und hatte `CSV 'Datei daraus generieren.

0
$("#ExportButton").on("Click", function (e) { 
    table.colReorder.order([ 0,2,1,4,3 ]); 
}); 
+0

Vielen Dank für Ihre Antwort, aber wie Sie dies schreiben, da Sie den Ort nicht gefunden haben. – NullPointer

+0

Ich habe meinen Beispielcode hinzugefügt. – NullPointer

+0

1. Suchen Sie den Variablennamen Ihrer Tabelle und ersetzen Sie "Tabelle". Wenn keine - Ersetzen Sie mit $ ("TableID"). 2. Suchen Sie die ID auf Ihrer Export-Schaltfläche und ersetzen Sie sie durch "ExportButton". 3. Platziere meinen Code in $ (document) .ready (function() {...}); nach der Initialisierung Ihrer DataTables. –

Verwandte Themen