Мы используем angular и jqxgrid. Нам нужно реализовать рендеринг на стороне сервера.
Я пытаюсь использовать функцию rendergridrows для возврата данных, которые служба извлекает из API.
когда выполняется функция rendergridrows, она не ожидает подписки для получения обновленных данных из сервиса
и показывает существующие данные в gridDataDetails.
Может кто-нибудь, пожалуйста, обновите меня с этим?
rendergridrows = (params: any): any => {
var pageNumber= params.startindex / totalRecords;
if (pageNumber == NaN) {
pageNumber = 0;
}
this._dataService.getDetails('dataId', 'userId', pageNumber, totaRecords)
.subscribe(res => {
debugger
this.gridDataDetails= res.Data;
this.isUpdateBoundData = true;
});
return this.gridDataDetails;
}
<div style="margin-top:2%;margin-left:3%">
<jqxGrid [width]=" getWidth()" [source]="dataAdapter" [columns]="gridColumns" [columnsresize]="true"
[enabletooltips]="true" [altrows]="true" [autoheight]="true" [sortable]="true" [pageable]="true"
[virtualmode]="true" [rendergridrows]="rendergridrows" >
</jqxGrid>
</div>
Я ожидаю, что элемент управления должен ждать получения данных от подписки, затем он должен связать обновленные данные подкачки с gridDataDetails.