PrimeNG 数据表——导出选定的行

PrimeNG data tables - export selected rows

我在下面有以下 PrimeNG 数据 table,我正在尝试仅将我在此处定义选择列时选择的行导出到 csv:

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

这里是table定义的全部数据:

<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() 命令导出此 table 时,csv 中的列 "Selected Column" 仅包含值 'undefined'。

因此,我希望只能 return 选定的行,或者将 csv 中的行标记为 "true" 或其他一些值。想法?

感谢大家的帮助!

编辑:添加我定义的 dt 函数:

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

您尚未在模板中定义 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 语法一样定义它。看起来它的目的是导出整个数据 table 而不是单个列,但如果那是你所追求的。

我知道这个问题很老了,但以防万一有人在寻找答案。以下是我们的做法。

dt.exportCSV({ selectionOnly: true });

我们正在使用 PrimeNG version: 4.3.0