【发布时间】: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