Для управления разбиением на страницы я передаю значения параметров 'total items', 'currentpage' и 'itemsperpage' со стороны сервера. Когда я сначала выполняю операцию поиска, нумерация страниц работает корректно в соответствии с общим количеством элементов, которые будут выделяться, но если явыполните еще одну операцию поиска, номера нумерации страниц не отображаются должным образом в соответствии с общим количеством элементов, они сохраняются в соответствии со старыми значениями, я получаю правильный итог с сервера, но он не обновляется в элементе управления нумерацией страниц.Примечание. Если я полностью обновляю страницу, значит, она работает, но без обновления не работает.
ngfor grid:
<tr *ngFor="let item of mf.data | paginate :{ itemsPerPage:_pageItems, currentPage:page, id : 1, totalItems:_totalItems } | orderBy: {property: column, direction: direction } ; let ndx = index" class="InnerFormCenterLabel">
<td>{{item.Column1}}</td>
<td>{{item.Column2}}</td>
</tr>
Управление разбиением на страницы:
<pagination-controls (pageChange)="page = GoReports($event)"
id="1"
maxSize="6"
directionLinks="true"
autohide="true"
responsive="true">
</pagination-controls>
В файле .ts:
GoReports(event: any) {
if (event == undefined) {
this.reportDeal.PAGE = 1;
}
else {
this.reportDeal.PAGE = event;
}
this.busyObservable = this.dataservice.goReports(this.reportDeal)
.subscribe(reportDeal => {
this.data = reportDeal;
if (this.data.length > 0) {
this.ShowReportData = true;
this.HideReportlbl = false;
this._totalItems = reportDeal[0].TOTALITEMS;
this._pageItems = reportDeal[0].PAGEITEMS;
}
else {
this.HideReportlbl = true;
this.ShowReportData = false;
}
}
);
return event;
}