2017-10-05 2 views
0

Ich habe folgende PrimeNG Datentabelle unten und ich versuche, nur die Zeilen in CSV zu exportieren, die ich ausgewählt habe, wo eine Auswahlspalte hier definiert ist:PrimeNG Datentabellen - Export ausgewählten Zeilen

<p-column field="marked" header="Marked" [style]="{'width':'38px'}" selectionMode="multiple"></p-column> 

hier ist die gesamte Datentabelle definiert:

<p-column field="marked" header="Selected Column" [style]="{'width':'38px'}" selectionMode="multiple"></p-column> 
    <p-header> 
     <div class="ui-helper-clearfix"> 
      <button type="button" pButton icon="fa-file-o" iconPos="left" label="Export To CSV" (click)="dt.exportCSV()" style="float:right"></button> 
     </div> 
    </p-header> 
    <p-column field="marked" header="Selected Column" [style]="{'width':'38px'}" selectionMode="multiple"></p-column> 
    <p-column field="id" header="count7" [sortable]="true"></p-column> 
    <p-column field="name" header="count6" [sortable]="false"></p-column> 
    <p-column field="field1" header="count5" [sortable]="true"></p-column> 
    <p-column field="field2" header="count4" [sortable]="true"></p-column> 
    <p-column field="field3" header="count3" [sortable]="true"></p-column> 
    <p-column field="field4" header="count2" [sortable]="true"></p-column> 
    <p-column field="field5" header="Count1" [sortable]="true"></p-column> 
</p-dataTable> 

Wenn ich diese Tabelle exportieren jetzt die dt.exportCSV() Befehl, die Spalte „Ausgewählte Spalte“ in der cSV enthält nur den Wert ‚undefined‘.

So möchte ich in der Lage sein, nur entweder die ausgewählten Zeilen zurückgeben, oder die Zeilen in der CSV als "wahr" oder einen anderen Wert markiert werden. Gedanken?

Danke für die Hilfe!

EDIT: Hinzufügen meine definiert dt Funktion:

<p-dataTable #dt [value]="records" 
[(selection)]="selectedRecords" exportFilename="discover" dataKey="id" 
       [paginator]="true" [rows]="20" [headerCheckboxToggleAllPages]="true"> 

Antwort

0

Sie haben dt in der Vorlage nicht definiert. in primeNG Proben, dt wird als Template-Variable definiert:

<p-dataTable #dt [value]="cars"> 
    <p-column field="vin" header="Vin"></p-column> 
    <p-column field="year" header="Year"></p-column> 
    <p-column field="brand" header="Brand"></p-column> 
    <p-column field="color" header="Color"></p-column> 
</p-dataTable> 

<button type="button" pButton icon="fa-file-o" iconPos="left" label="CSV" (click)="dt.exportCSV()"></button> 

Sie müssen es definieren und wie sie auf dem p-Datatable mit der #DT Syntax tun. Es sieht so aus, als ob die gesamte Datentabelle und nicht einzelne Spalten exportiert werden sollen, wenn Sie danach suchen.

+0

Danke bryan für die Antwort! Also habe ich meine definierte dt-Funktion im ursprünglichen Beitrag hinzugefügt. Was ich suche, ist eine Möglichkeit, nur die Zeilen zu exportieren, die ich aus der Datentabelle auswähle. Die Selektorspalte ist definiert: Ja, also ich Ich möchte nur die Zeilen exportieren, auf die ich das Kontrollkästchen in der oben angegebenen Spalte geklickt habe. Danke für die Hilfe! –

+0

Wie ich schon sagte, ich glaube nicht, dass die API von primeNG eine solche Funktion bietet, die exportCSV() - Funktion ist in der Datentabelle und nimmt keine Parameter an ... Sie müssten Ihre eigene schreiben, die Datentabelle api Zeigt Auswahlereignisse an, die Sie verwenden können, um die ausgewählten Daten zu erfassen, und führen Sie anschließend eine Funktion für den Klick aus, mit der die ausgewählten Daten in einen CSV umgewandelt werden. Beim Erstellen einer CSV-Datei wird lediglich eine durch Kommas getrennte Zeichenfolge erstellt und es gibt einige SO-Antworten zum Exportieren einer CSV-Datei zum Herunterladen. Oder vielleicht kannst du irgendwo ein Plugin dafür finden, aber es ist ziemlich geradlinig. – bryan60

+0

Ich denke jedoch, dass Sie das seltsame Verhalten sehen, das Sie sehen, da die Funktion exportCSV wahrscheinlich für einfache Tabellen gedacht ist, und Sie versuchen, es mit einer Tabelle zu verwenden, die Spalten gruppiert hat, so dass es wahrscheinlich nicht weiß wie CSV diese Daten exportiert, da es ein paar verschiedene gültige Interpretationen dafür geben könnte. – bryan60

Verwandte Themen