用数据重新填充 ag-grid

Posted

技术标签:

【中文标题】用数据重新填充 ag-grid【英文标题】:Repopulate ag-grid with data 【发布时间】: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 事件呢?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

我猜这也是 Ag Grid 25 中的唯一选择...

以上是关于用数据重新填充 ag-grid的主要内容,如果未能解决你的问题,请参考以下文章

Ag-Grid:应用过滤器后如何保存和重新加载列

如何在量角器测试中测试重新排序 Ag-Grid 列?

根据不均匀的日期重新索引熊猫数据框,然后用 groupby 和空白填充某些值

如何根据用户类型用相似的记录重新填充组合框

堆叠条形图 ggplot2 - 重新排序填充

ag-grid - 数据更改时调整细节高度