【问题标题】:Repopulate ag-grid with data用数据重新填充 ag-grid
【发布时间】:2018-12-11 19:01:43
【问题描述】:

我正在使用组件文件中的 onGridReady 方法从 html 初始化 ag-grid。

<div style="flex-grow:1;">
    <ag-grid-angular

      style="float:left;width: 100%; height: 201px;margin-top:10px;"
      class="ag-theme-balham"
      [gridOptions]="gridOptions"
      [columnDefs]="columnDefs"
      (gridReady)="onGridReady($event)"
      [rowData]="rowData"
      #grid
    >
    </ag-grid-angular>
  </div>

在我的.ts 文件中,我正在处理onGridReady,如下所示:

onGridReady(params?: any) {
    console.log("onGridReady");
    var datasource = {
      getRows: (params: IGetRowsParams) => {
        this.info = "Getting datasource rows, start: " + params.startRow + ", end: " + params.endRow;
        console.log(this.info);
        this.getRowData().then(data => {
          if (this.stopApiCalls) {
            var lastRow = this.allTableData.length;
            params.successCallback(data, lastRow)
          }
          else {
            params.successCallback(data)
          }
        })
      }
    };
    console.log(">>",datasource);
    params.api.setDatasource(datasource);
  }

this.getRowData 用于使用 http 从后端服务获取数据。

我现在需要在另一个组件文件中处理的某个事件上重新初始化并使用onGridReady。我可以访问我的 ag-grid 组件中的方法。但是我怎样才能从另一个组件调用onGridReady 事件呢?

【问题讨论】:

    标签: angular typescript ag-grid


    【解决方案1】:

    gridReady 事件恰好在网格初始化之后发生,因此如果您想获得动态组件,则需要更复杂的解决方案。

    可能的破解:通过带有动态参数的路由器重新渲染视图

    【讨论】:

    • 我猜这也是 Ag Grid 25 中的唯一选择...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    • 2020-04-09
    • 2020-08-19
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多