Как добавить пользовательский текст в primeng paginator
Я хотел бы знать, если вы можете добавить пользовательский текст в строку paginator, более конкретно, я хотел бы, чтобы это было общее количество совпадений для таблицы справа.
4 ответа
<ng-template pTemplate="paginatorright">
{{totalRecords}}
</ng-template>
и если вы хотите показать диапазон строк страницы, то вы можете добавить, как это,
<ng-template pTemplate="paginatorleft">
Showing {{totalRecords < 1 ? 0 : first + 1}} to
{{totalRecords > 0 ? ((rows+ first) <= totalRecords ? (rows + first) :
totalRecords) : 0}} of {{totalRecords ? totalRecords : 0}} entries
</ng-template>
Вы не можете добавить пользовательский текст в строку Paginator. Но вы можете добавить общее количество попаданий чуть ниже страницы, используя нижний колонтитул внутри таблицы, как
<p-footer>Total Hits:{{totalHits}}</p-footer>
В противном случае вы можете добавить общее попадание над пагинатором, сделав, например, пагинатор отдельным.
<p-dataTable [value]="data" [paginator]="false">....
<p-column field="Col1" header="Column 1"><p-column>
<p-footer>total Hits: {{totalHits}}</p-footer>
</p-dataTable>
<p-paginator rows="10" totalRecords="120" [rowsPerPageOptions]="[10,20,30]"></p-paginator>
Вы можете просто добавить его вручную под таблицей...
<p-dataTable
#myCoolTable>
...
</p-dataTable>
<div style="position: absolute; bottom: 5px; right: 20px;">
filtered {{ myCoolTable.totalRecords }} from a total count of {{ myCoolTable.value.length }}
</div>
где totalEntriesCount устанавливается компонентом при получении данных с сервера...
Не забудьте переместить вещи стиля к своему scss/less/css!;)
Редактировать: количество нефильтрованных данных также сохраняется в длине значения. Возможно, таблица недоступна извне, поэтому вы можете объявить ее как ViewChild('myCoolTable') myCoolTable;
в компоненте.
Это точное решение для добавления пользовательского текста или общего количества строк в разбивке по страницам для отображения данных (угловой):
<p-dataTable
[value]="myRecords"
rows="10"
[pageLinks]="5"
[paginator]="false"
[lazy]="true"
[totalRecords]="totalRecordsCount"
(onLazyLoad)="loadData($event)"
[responsive]="true">
<p-column field="" header="test"></p-column>
</p-dataTable>
<div style="position: relative;">
<p-paginator rows="10"
(onLazyLoad)="loadData($event)"
(onPageChange)="loadData($event)"
[totalRecords]="totalRecordsCount"
[rowsPerPageOptions]="[10, 25]">
</p-paginator>
<span style="position: absolute; top:3px; right:5px; margin: 5px;">Total records: {{totalRecordsCount}} </span>
</div>