Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

267
Views
AG Grid cell editor with dynamic parameter and data binding from API

I am following an example(dynamic Parameters: City Drop Down) from the below link and it's working fine when I use static array data but when I try to bind the same data list from API it's not getting bound initially. It's binding when I edit the drop-down value a second time only. I have tried making the API call as synchronous as well but did not work. Where did I go wrong?

https://www.ag-grid.com/javascript-data-grid/cell-editing/#example-dynamic-parameters

Angular- Html page,

<div *ngIf="isLoaded">
    <ag-grid-angular
        style="width: 1000px; height: 300px;" 
        class="ag-theme-balham"
        [modules]="modules"
        [rowData]="rowData"
        [gridOptions]="gridOptions"            
        (gridReady)="onGridReady($event)"
    ></ag-grid-angular>
</div>

My dynamic ag-grid drop-down field is based on another field Id,

  {
     headerName: 'ScoreDescription', field: 'score',
     cellEditor: 'agRichSelectCellEditor',
     cellRenderer: scoreCellRenderer,
     cellEditorParams: cellCellEditorParams,
     sortable: true, filter: true, minWidth: 300
  },

cellCellEditorParams function is to bind the list of scores dynamically from API,

 scoreList: any = [];
 ...
 ngOnInit(): void {
 const cellCellEditorParams = (params) => {            
  this.kpiProjectService.getScoreDescriptionsByKpiId(params.data.kpiId).then((x)=>{ 
    this.scoreList=x});
              
  return {
    cellRenderer:scoreCellRenderer,
    values: this.scoreList,
  };      ​
 ​...
 ...
 //gridOptions & some other functions, and then closing of ngOnInitFunction

my service or API call,

async getScoreDescriptionsByKpiId(id: number) {
    var ds = await this.http.get<any>(`${environment.services.kpiService.kpiscoresuri}/${id}`)
    .toPromise();
  return ds;
}
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!