用数据重新填充农业网格

Repopulate ag-grid with data

我正在使用组件文件中的 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 事件呢?

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

可能的黑客攻击:通过具有动态参数的路由器重新渲染视图