我正在试图在AgGrid中以dinamic的方式创建列,因为我没有说他构造了JSON。我对'for'
HTML
<ag-grid-angular #agGrid style="width: 100%; height: 100%;" id="myGrid" class="ag-theme-balham" [columnDefs]="columnDefs"
(gridReady)="onGridReady($event)">
</ag-grid-angular>
Component.ts
private gridApi;
private gridColumnApi;
public gridOptions;
public columnDefs;
constructor(
private http: HttpClient,
) {}
private createColumns(data) {
return [{
I TRY...
}];
}
ngOnInit() {
this.gridOptions = <GridOptions>{};
}
onGridReady(params) {
this.gridApi = params.api;
this.gridColumnApi = params.columnApi;
this.http.get(this.config.getUrl('projectunits')).subscribe(data => {
console.log(data);
params.api.setRowData(data);
this.columnDefs = this.createColumns(data);
});
params.api.sizeColumnsToFit();
}
我试试:
return [{
data.Results.array.forEach(element => {
console.log(element);
});
}];
这说:data.
希望“:”
我也试试:
return [{
for (i = 0; i < data.Results.length; i++) {
console.log(data[i]);
}
}
这就是说“算术运算符应该是任何数字”
我遇到了问题,我尝试了4种不同的东西......
我的意图或想法是:
private createColumns(data) {
return [{
for (i = 0; i < data.Results.length; i++) {
headerName: data[i] ,
field: data[i],
}
} ]; //End header agrid
}
因为我不知道Json的结构:
答案 0 :(得分:1)
您可以尝试:
private createColumns(data) {
const columns: { [fieldName: string]: ColDef } = {};
data.Results.forEach(colData => {
columns[colData.id] = {
headerName: colData.header,
field: coldata.field
}
})
return columns;
}