我正在一个项目中,我使用具有冻结和解冻列属性的PrimeNg
表,并且在使用*NgFor
创建普通列的情况下其工作正常,但是如果我添加不包含*NgFor
的新列它在冻结表和冻结表中都重复出现。
如何克服此问题,因为我只希望该列位于冻结列而不是冻结列上。
我的代码:
<ng-template pTemplate="header" let-columns>
<tr>
<th>All</th>
<th *ngFor="let col of columns">
{{col.header}}
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-rowData let-columns="columns">
<tr>
<td>
<p-tableCheckbox
[value]="rowData"
[attr.disabled]="
rowData.setupType === 'No Action' &&
rowData.currentStatus === 'INACTIVE'
? 'disabled'
: null
"
></p-tableCheckbox>
</td>
<td *ngFor="let col of columns">
{{rowData[col.field]}}
</td>
</tr>
</ng-template>
列重复问题:
如何克服这个问题?
在PrimeNg
表中向我提供指导。
答案 0 :(得分:1)
您需要使用模板frozenheader
<ng-template pTemplate="frozenheader" let-columns>
<tr>
<th>All</th>
<th *ngFor="let col of columns">
{{col.header}}
</th>
</tr>
</ng-template>
和frozenbody
<ng-template pTemplate="frozenbody" let-rowData let-columns="columns">
<tr>
<td style="text-align: center">
<p-tableCheckbox [value]="rowData" [attr.disabled]="
rowData.setupType === 'No Action' &&
rowData.currentStatus === 'INACTIVE'
? 'disabled'
: null
"></p-tableCheckbox>
</td>
<td *ngFor="let col of columns">
{{ rowData[col.field] }}
</td>
</tr>
</ng-template>
演示here