Я использую таблицы угловых данных. Я пытаюсь изменить данные в них. У меня есть 6 методов, выполняющих различные вычисления и помещающих данные в массив.
У меня 6 кнопок. По нажатию кнопки я вызываю соответствующий метод и после выполнения расчета. Я помещаю данные в массив ( StoriesOfIndicators )
Постановка проблемы
При первом нажатии на кнопку корректно отображается таблица, но когда я нажимаю кнопку «Далее», данные не отображаются должным образом, а состояние разбивки на страницы показывает результат первого метода. Таблица данных не отображается должным образом. В основном не работает нумерация страниц
Метод 1->
storiesWhomDefectTimeIsGreaterThanDev() {
this.storiesOfIndicators = [];
for (let i = 0; i < this.global.data.length; i++) {
if (this.global.data[i].defectTime > this.global.data[i].devTime) {
this.storiesOfIndicators.push(this.global.data[i])
}
}
}
Мой стол
<table id="indicators" *ngIf="storiesOfIndicators.length > 0" datatable [dtOptions]="dtOptions" [dtTrigger]="dtTrigger" class="row-border hover">
<thead>
<tr>
<th>Story Id</th>
<th>Story Name</th>
<th>Time Spent (Days)</th>
<th>Estimated Time (Days)</th>
<th>Threshold Value</th>
<th>Aggregated Estimated Time (Days)</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let story of storiesOfIndicators">
<td>{{story.id}}</td>
<td>{{story.name}}</td>
<td>{{convertValueToDays(story.timeSpent)}}</td>
<td>{{convertValueToDays(story.originalEstimates)}}</td>
<td>{{story.threshold}}</td>
<td>{{convertThresholdValue(story.originalEstimates)}}</td>
<td>{{story.status}}</td>
</tr>
</tbody>
</table>
Пробный раствор
Я пытался добавить this.dtrigger.next()
в начале каждого метода, но он не работает.
Я снова попытался вызвать этот метод в начале моего метода, но он не работал, либо вместо этого удалить мой css / pagination / search, но данные отображаются правильно.
ngAfterViewInit(): void {
this.dtTrigger.next();
}
rerender() {
this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {
dtInstance.destroy();
this.dtTrigger.next();
});
}