【问题标题】:How Can I create Columns in AgGrid with for ? Angular2如何使用 for 在 AgGrid 中创建列?角2
【发布时间】:2018-05-14 17:37:12
【问题描述】:

我正在尝试以动态方式在 AgGrid 中创建列,因为我没有说他构建 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>

组件.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]);
    }
  }

这说“算术运算符应该是任何o数”

我遇到了 for 的问题,我尝试了 4 、 5 种不同的东西......

我的意图或想法是:

private createColumns(data) {
    return [{
            for (i = 0; i < data.Results.length; i++) {
             headerName: data[i] ,
             field: data[i],
             }
          } ]; //End header agrid
  }

因为我不知道 Json 的结构:

【问题讨论】:

    标签: angular ag-grid


    【解决方案1】:

    你可以试试:

    private createColumns(data) {
        const columns: { [fieldName: string]: ColDef } = {};
        data.Results.forEach(colData => {
            columns[colData.id] = {
                headerName: colData.header,
                field: coldata.field
            }
        })
        return columns;
    }
    

    【讨论】:

    • 错误编译器:“找不到名称 ColDef”,感谢您的帮助。
    • 这是来自 AgGrid 的接口。 import {ColDef} from 'ag-grid';
    • 我使用 import { GridOptions } from 'ag-grid';我可以用两个吗?
    • 我的伙伴说我可以直接将el Json加入columDefs,但是他不这样做,所以我不需要使用foreach,是真的???
    • 你也可以data.Results.map。对于性能来说,这并不重要。我们在这里谈论的是 10 次迭代循环。不要过度优化,做对你来说更具可读性的事情
    猜你喜欢
    • 2013-12-18
    • 1970-01-01
    • 2020-11-02
    • 2022-01-09
    • 2017-05-06
    • 1970-01-01
    • 2020-01-06
    • 2021-05-19
    • 1970-01-01
    相关资源
    最近更新 更多