在ag-grid中编辑单元格值后如何启动方法?

时间:2019-05-08 08:31:14

标签: angular ag-grid ag-grid-react ag-grid-ng2 ag-grid-angular

我有这个简单的专栏:
enter image description here

这是它的定义:

{
      headerName: "Activité",
      field: "activite",
      editable: true,
       , cellClass: "cell-wrap-text"
      }  

这是我每次用户在该列中输入新输入时要启动的方法。

  public UpdateActValue() {
      this.data.sendActToBia(this.params.data.activite);
      }  

这是我的问题:
1 /在编辑了列中的单元格值之后,是否有任何ag-grid“本机”方式来启动特定方法?
2 /我应该简单地定义一个自定义单元格渲染器并在那里做所有必要的工作吗?
谢谢!

2 个答案:

答案 0 :(得分:1)

您可以利用cellValueChanged事件绑定来检测单元格值的变化。

在component.html上,您可以简单地将onCellValueChanged()方法绑定到cellValueChanged事件。

<ag-grid-angular 
.
.
(gridReady)="onGridReady($event)"
(cellValueChanged)="onCellValueChanged($event)"
>

在您的component.ts上,您将定义onCellValueChanged()方法,该方法将在每次更改任何单元格值时触发。

onCellValueChanged(event) {
  // handle the rest here
}

您可能会了解有关网格单元格编辑和here上的更改检测的更多信息。

答案 1 :(得分:0)

我刚刚找到一种简单的方法来做到这一点。希望对您有所帮助。

  

在grid.component.html中:

将此添加到网格定义内:

  (cellValueChanged)="onCellValueChanged($event)"
  

在grid.component.ts中:   定义方法:

onCellValueChanged(params) {
    const colId = params.column.getId();
    if (colId === "activite") {
      this.data.sendActToBia(params.data.activite);
}
  }