【问题标题】:ag-grid does not refresh when using Observables使用 Observables 时 ag-grid 不刷新
【发布时间】:2017-08-31 15:46:30
【问题描述】:

我正在尝试将 Angular-2 ag-grid 与 Observable 绑定。首次加载网格时,网格中的数据会按预期显示。以下是执行此操作的代码:

  this.settingsService.gen.subscribe(
  (settings) => {
    this.gridOptions.rowData = settings;
  });

我已经在组件的 typescript 类的构造函数中设置了网格选项。

现在,当我更新 observable 的数据时,我看到更新后的更改传播到“设置”(如上所示),但网格不会用新数据刷新。

我已经尝试了所有可能的方法来使用 gridOptions.api.refreshView() 刷新网格。我还尝试了here 给出的解决方案。不幸的是,它们都不起作用。

感谢任何帮助。 谢谢。

【问题讨论】:

  • 您是否尝试过 api.setDatasource(datasource)api.setRowData(rows) 而不是更新 rowData ?
  • 我也尝试了这些选项。在 setTimeout 回调中刷新网格视图实际上起到了作用。 this.settingsService.gen.subscribe( (settings) => { this.gridOptions.rowData = settings; setTimeout(() => { this.gridOptions.api.refreshView(); }, 0); });
  • 在我的模板中我给了<ag-grid-angular #agGrid style="width: 100%; height: 700px;" class="ag-theme-bootstrap" [rowData]="transactions | async",并且只要交易更新,rowData就会更新。

标签: angular typescript ag-grid angular2-observables


【解决方案1】:

我设置了 gridOptions deltaRowDataMode: truegetRowNodeId: data => data.id 检查https://www.ag-grid.com/javascript-grid-data-update/#method-3-delta-row-data 了解更多信息

【讨论】:

    猜你喜欢
    • 2018-05-31
    • 2022-10-14
    • 2020-07-04
    • 2018-10-23
    • 2017-11-15
    • 2019-08-23
    • 2018-04-30
    • 1970-01-01
    • 2019-08-06
    相关资源
    最近更新 更多