如何使用ag-grid根据API响应动态显示列

问题描述 投票:0回答:1

以下是农业网格的代码,它在“ this.gridApi.setColumnDefs(this.columnDefs)”上的错误提示可以指导如何解决此问题:

<ag-grid-angular " 
class="ag-theme-balham"
#agGrid
[columnDefs]="columnDefs"
id="newGrid"
[enableSorting]="true"
[enableFilter]="true"
[modules]="modules"
[paginationAutoPageSize]="true"
[rowData]="rowData"
[defaultColDef]="defaultColDef"
(gridReady)="onGridReady($event)"
[pagination]="true">>
</ag-grid-angular>

正在GreadReady()和ngOnit上调用此方法,但在“ this.gridApi.setColumnDefs(this.columnDefs)”上显示错误。实际上this.gridAPI变得不确定。并在控制台=“ =”无法读取未定义的属性'setColumnDefs'“中显示错误”

public getcolumnData()
  {
    this.impService.getImpId(this.reportId, this.impId).subscribe(value=>
      {
        let columnDefs=[];
        this.GetGridData();
        let header:any =[];
        //jsonData = dataSet.data[0].values[0]

        Object.keys(this.list[0]).forEach(function(key) {
          header.push(key)
        }); 

         console.log("header.........",header)
          columnDefs=[...columnDefs,{headerName:header,field: header  }];
          console.log("Arunnnnnnnnn",columnDefs);

      });
      this.gridApi.setColumnDefs(this.columnDefs)
  }
ag-grid
1个回答
0
投票

gridApi的[]仅在onGridReady事件之后可用。几乎每个ag-grid示例中都可以找到有关如何拥有gridApi实例的更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.