2017-10-05 10 views
0

私は下に次のPrimeNGデータテーブルを持っていると私は選択欄がここで定義された場合、私が選択した行のみをCSVファイルにエクスポートしようとしている:PrimeNGデータテーブル - 輸出選択された行

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

ここで定義された全データテーブルは次のとおりです。

<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> 

私はdt.exportCSV()コマンドを使用して、今、このテーブルをエクスポートする場合、CSVファイル内の列「選択した列は、」「未定義」値のみが含まれています。

したがって、選択した行だけを返すか、またはcsvの行に「true」またはその他の値を設定することができます。思考?

ありがとうございました!

EDIT:私の定義されたDT機能の追加:

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

答えて

0

あなたのテンプレートでDTを定義していません。 primeNGサンプルでは、​​DTはテンプレート変数として定義されています

<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> 

はあなたにも、彼らはあなたのp型のdataTable上#dt構文で行うようにそれを定義する必要があります。それはあなたが後になっている場合でも、それは個々の列ではなく、データテーブル全体をエクスポートすることを意図しているように見えます。

+0

返信いただきありがとうございます。だから私は元の投稿に私の定義されたdt関数を追加しました。私が探しているのは、データテーブルから選択した行だけをエクスポートする方法です。セレクタ列は次のように定義されています 上記の列で定義されているチェックボックスをクリックした行だけをエクスポートしたいとします。助けてくれてありがとう! –

+0

私は言ったように、私はprimeNG APIがそのような関数を提供しているとは思わない、exportCSV()関数はデータテーブル上にあり、パラメータを取らない...あなた自身のデータテーブルapi選択したデータをキャプチャするために使用できる選択イベントが公開され、選択されたデータを取得してcsvに変換する、クリック時の関数を実行します。 CSVを作成するには、コンマで区切られた文字列を作成するだけです。ダウンロード用にCSVをエクスポートする方法については、いくつかの答えがあります。または、どこかでプラグインを見つけることができますが、それはかなり単純なものです。 – bryan60

+0

しかし、エクスポートCSV関数はおそらく単純なテーブルを対象としており、グループ化された列を持つテーブルでそれを使用しようとしているので、あなたが見ている奇妙な動作を見ていると思います。 csvがそのデータをどのようにエクスポートするかについては、それを行う方法のいくつかの異なる有効な解釈があるかもしれないからです。 – bryan60

関連する問題