如果使用具有 Angular 6 的 ag-Grid 执行整行更新,则获取已编辑的列(包含数据)

Get the edited columns (with data) if performing a full row update using ag-Grid with Angular 6

我已经实现了整行更新,但在更新行之前,我需要获取哪些列已被编辑以及列中存在的相应数据。为了在更新行之前对数据执行一些验证以显示错误消息,我使用了 (rowValueChanged)="onRowValueChanged($event)" 方法。

我相信要做到这一点,您需要同时监听 rowValueChanged 和 cellValueChanged 事件 并添加一个带有编辑值的标志

  onRowValueChanged(event) {
    console.log(`Changed Values = ${event.node.changedValues.join(',')}`);
    // do validations
  }

  onCellValueChanged(event) {
    if (event.newValue !== event.oldValue) {

      if (!event.node.changedValues)
      event.node.changedValues = [];

      event.node.changedValues.push(event['column']['colId']);
    }
  }