PrimgNg: <p-таблица> сортировка столбцов
Я использую <p-table>
и я должен осуществить сортировку по заголовкам. Я делаю как ниже:
HTML
<p-table [value]="documents">
<ng-template pTemplate="header">
<tr>
<th [pSortableColumn]="">
File Name
<p-sortIcon [field]=""></p-sortIcon>
</th>
<th [pSortableColumn]="">
File Type
<p-sortIcon [field]=""></p-sortIcon>
</th>
<th [pSortableColumn]="">
File Date
<p-sortIcon [field]=""></p-sortIcon>
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-doc>
<tr>
<td>
{{doc.sName}}
</td>
<td>
{{doc.sType}}
</td>
<td>
{{doc.sDate}}
</td>
</tr>
</ng-template>
</p-table>
TS
ngOnInit(){
//made a service call and got data for
this.documents=[{
"sName":"Book",
"sType":"PDF",
"sDate":"20"
},
{
"sName":"Book",
"sType":"PDF",
"sDate":"20"
},
{
"sName":"Cook Book",
"sType":"Text",
"sDate":"20"
},
{
"sName":"Book",
"sType":"PDF",
"sDate":"25-04"
},
{
"sName":"File",
"sType":"PDF",
"sDate":"02-01"
}]
}
Я использовал [pSortableColumn]
а также [field]
в моем коде, но я не получаю, какое значение передать для сортировки этого конкретного поля. Данные отображаются правильно, это единственная сортировка, по которой мне не хватает. Подскажите пожалуйста, как добиться сортировки столбцов. Спасибо
Я не могу использовать <p-dataTable>
1 ответ
Решение
Замещать
<th [pSortableColumn]="">
File Name
<p-sortIcon [field]=""></p-sortIcon>
</th>
с
<th [pSortableColumn]="'sName'">
File Name
<p-sortIcon [field]=""></p-sortIcon>
</th>
по порядку сделать сортировку по sName например.
Просто добавьте дополнительную информацию к принятому ответу от @Antikhippe, если кому-то это нужно.
В примере кода из принятого ответа значок p-sort не изменился.
Таким образом, использование следующего кода работает.
<p-sortIcon [field]="'sName'"></p-sortIcon>