У меня простая настройка таблицы AG-Grid + Angular 5 и я хочу, чтобы AG Grid выполнила следующие вычисления в той же строке.
Формула а * б = сb = c / a
Однако я не очень успешно использую valueGetters.Я полагаю, что в итоге получился какой-то эффект пинг-понга.Не выдается никаких ошибок, но как только я пытаюсь изменить b или c, я получаю странные результаты.
Я перечисляю мои фрагменты кода ниже.У кого-нибудь есть идеи как решить этот? app.component.html
<ag-grid-angular
#agGrid style="width: 100%; height: 350px;"
class="ag-theme-balham"
[gridOptions]="gridOptions"
[columnDefs]="columnDefs"
[showToolPanel]="showToolPanel"
[defaultColDef]="defaultColDef"
[rowData]="rowData">
</ag-grid-angular>
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
private columnDefs;
private rowData;
private defaultColDef;
constructor() {
this.columnDefs = [
{ headerName: 'a', field: 'a', editable: false },
{
headerName: 'b',
field: 'b',
valueGetter: this.numCalc
},
{
headerName: 'c',
field: 'c',
valueGetter: this.resCalc
}
];
this.rowData = [
{ a: 10, b: 1, c: 10 },
{ a: 20, b: 2, c: 40 },
{ a: 30, b: 3, c: 90 }
];
this.defaultColDef = { editable: true }
}
resCalc(params) {
return params.data.a * params.data.b;
}
numCalc(params) {
return params.data.c / params.data.a;
}
}