Я хочу экспортировать определенные столбцы в p-datatable. Раньше я экспортировал все записи, но теперь хочу экспортировать определенные столбцы. Как мне это сделать?





In order to exclude a column from the csv, use
[exportable] = "false"onp-column.
Для получения определенного столбца есть одно решение. Html-страница:
<p-dataTable #dg [value] = "groupdetails" selectionMode = "multiple" resizableColumns = "true" reorderableColumns = "true" expandableRows = "true" [paginator] = "true" [rows] = "5" [pageLinks] = "3" [rowsPerPageOptions] = "[5,10,20]" [loading] = "ploader3">
<p-header>
<div class = "ui-helper-clearfix">
<button class = "btn btn-info" type = "button" (click) = "dg.exportCSV({selectionOnly:true})" style = "float:left"><i class = "fa fa-download" aria-hidden = "true"></i> SELECTED EXPORT</button>
<button class = "btn btn-info" type = "button" (click) = "export(dg)" style = "float:right"><i class = "fa fa-download" aria-hidden = "true"></i> Export</button>
</div>
</p-header>
<p-column field = "groupName" [filter] = "true" [sortable] = "true" header = "groupName"></p-column>
<p-column field = "groupId" [filter] = "true" [sortable] = "true" header = "groupId"></p-column>
<p-column field = "parentGroupId" [filter] = "true" [sortable] = "true" header = "parentGroupId"></p-column>
</p-dataTable>
На странице Ts:
public export(e){
const hiddenColumns: any[] = [];
e.columns.forEach((c) => {
if (c.field === "hiddencolumnName" ) {
hiddenColumns.push({field: c.field, col: c});
c.field = '';
} if (c.field === "hiddencolumnName2" ) {
hiddenColumns.push({field: c.field, col: c});
c.field = '';
}
}
e.exportCSV();
// restore their fields so still works in the future
hiddenColumns.forEach((hc) => {
hc.col.field = hc.field;
});
}
Добавьте столбцы в скрытый массив, который вы не хотите экспортировать.