我在下面有以下PrimeNG数据表,我尝试只将我选择的行中的行导出到csv:
<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()命令导出此表时,列&#34; Selected Column&#34;在csv中只包含值&#39; undefined&#39;。
所以,我希望能够只返回选定的行,或者将csv中的行标记为&#34; true&#34;或其他一些价值。思考?
感谢您的帮助!
编辑:添加我定义的dt函数:
<p-dataTable #dt [value]="records"
[(selection)]="selectedRecords" exportFilename="discover" dataKey="id"
[paginator]="true" [rows]="20" [headerCheckboxToggleAllPages]="true">
答案 0 :(得分:1)
我知道这个问题很旧,但是以防万一有人在寻找答案。这是我们的方法。
dt.exportCSV({ selectionOnly: true });
我们正在使用PrimeNG version: 4.3.0
。
答案 1 :(得分: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语法一样定义它。看起来它的目的是导出整个数据表而不是单个列,尽管这是您之后的目的。