Angular 素数4.3:数据表列值';S'';N';至';是'';否';

Angular 素数4.3:数据表列值';S'';N';至';是'';否';,angular,typescript,primeng,primeng-datatable,Angular,Typescript,Primeng,Primeng Datatable,我有这些可乐: this.cols = [ { field: 'acronym', header: 'Acrònim', sortable: true }, { field: 'name', header: 'Nom', sortable: true }, { field: 'commonUserName', header: 'Credencial', sortable: true }, { field: 'scope', header: 'Àmbit', sortabl

我有这些可乐:

this.cols = [
   { field: 'acronym', header: 'Acrònim', sortable: true },
   { field: 'name', header: 'Nom', sortable: true },
   { field: 'commonUserName', header: 'Credencial', sortable: true },
   { field: 'scope', header: 'Àmbit', sortable: true },
   { field: 'transversal', header: 'Transversal', sortable: true },
   { field: 'startDate', header: 'Data Inici', sortable: true },
   { field: 'suspendDate', header: 'Data Suspensió', sortable: true },
];
Html
p-dataTable
是:

<div style="margin-bottom: 1.54em" *ngIf="!apps.error">
    <p-dataTable #appsTable [value]="apps.content"...>
        <p-column *ngFor="let col of cols" [field]="col.field" [header]="col.header" [sortable]="col.sortable">
        </p-column>
    </p-dataTable>
</div>

有什么想法吗?

使用模板列定义列

<p-column *ngFor="let col of cols" field="col.field" header="col.header">
    <ng-template let-col let-data="rowData" let-ri="rowIndex" pTemplate="body">
        <span>{{col.field=='transversal'?data[col.field]=='S'?'Yes':'No':data[col.field]}}</span>
    </ng-template>
</p-column>

{{col.field=='transversal'?数据[col.field]=='S'?'Yes':'No':数据[col.field]}

什么是
apps.content
?这不是决定了每行中显示的数据吗?如果是这样,我认为您应该能够使用
ng模板
管道
来转换
S
N
Yes
No
<p-column *ngFor="let col of cols" field="col.field" header="col.header">
    <ng-template let-col let-data="rowData" let-ri="rowIndex" pTemplate="body">
        <span>{{col.field=='transversal'?data[col.field]=='S'?'Yes':'No':data[col.field]}}</span>
    </ng-template>
</p-column>