Как запустить метод после редактирования значения ячейки в ag-grid? - PullRequest
0 голосов
/ 08 мая 2019

У меня есть этот простой столбец:
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 ]

1 голос
/ 08 мая 2019

Вы можете использовать привязку события cellValueChanged для обнаружения изменений в значении ячейки.

В вашем component.html вы можете просто привязать метод onCellValueChanged() к событию cellValueChanged.

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

И в ваших component.ts вы определите метод onCellValueChanged(), который будет запускаться каждый раз, когда изменяется любое значение ячейки.

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

Вы можете прочитатьподробнее о редактировании ячеек сетки и обнаружении изменений в здесь .

0 голосов
/ 08 мая 2019

Я только что нашел простой способ сделать это. Я надеюсь, что это помогает.

В 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);
}
  }
...