【问题标题】:Update column value in Ag-Grid更新 Ag-Grid 中的列值
【发布时间】:2018-07-11 10:30:21
【问题描述】:

我在Component A 中加载网格。在Component B 中,我正在修改一个值,该修改后的值应该反映在Component A 中。

使用Subject 我可以成功地将修改后的值设置为Component A,但不会显示更新后的值。

请帮帮我,我遇到了这个问题。

下面是我的代码

setTimeout(() => {
  this.sessionWatch.transitDaysAvg.subscribe((newValue) => {
    if (newValue) {
      // newValue is 6 Old value is 1
      var rowNode = this.gridOptions.api.getRowNode("0");
      rowNode.setDataValue("transitLink.businessDays", newValue);
      this.gridOptions.api.refreshCells({
        force: true
      });

    }
  });
}, 1000);
<div role="row" row-index="0" comp-id="602">
  <div tabindex="-1" role="gridcell" comp-id="753" col-id="transitLink.businessDays">1</div>
</div>

【问题讨论】:

  • 那么你的组件应该是子父关系,你可以使用@Input@Output来接收或发出值。
  • 我已经在使用主题,我可以访问父组件中的子数据。唯一的问题是在该特定列中显示更新的值
  • 使用Subject有点可观察的东西,所以你需要订阅那个可观察的,并且在可观察中,每次你需要调用可观察的next()来更新值,这很好但需要更多无用的代码(对于这种情况,我说它没用),因为 Angular 为我们提供了 @Input@Output 用于父子交互,这很简单,不需要像 SubjectObservable 这样的额外内容。
  • 是的,但我的问题是用新值更新单元格。这就是我面临的问题。

标签: angular ag-grid


【解决方案1】:

设置数据值后无需刷新单元格。 setDataValue 本身默认更新行数据。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2020-10-17
  • 2021-11-20
  • 2020-12-16
  • 2020-01-03
  • 1970-01-01
  • 2020-08-19
  • 2020-06-03
  • 2020-11-04
  • 2016-03-13
相关资源
最近更新 更多