ag-grid: как получить старое значение и новое значение в ag-grid, когда столбец доступен для редактирования

#angular8 #ag-grid #ag-grid-angular

#angular8 #ag-grid #ag-grid-angular

Вопрос:

Я использую ag-grid вместе с angular 8.

с помощью приведенного ниже кода я могу отображать данные в сетке, где первые три столбца доступны для редактирования, а в четвертом столбце у меня есть кнопка обновления.

теперь нажмите кнопку обновления. Я должен отправить старое значение всех трех редактируемых значений столбца, а также новое значение, чтобы я мог обновить то же самое в серверной части.

но я не уверен, как получить старое значение, а также новое значение из отредактированной сетки.

 this.service.getData().subscribe((data) => {
        this.columnheaders = (Object.keys(data[0]));
        this.rows = data;
        for (var x in this.columnheaders)
          this.columns[x] = { headerName: this.columnheaders[x], field: this.columnheaders[x], editable: true };
        this.columns[3] = {
          headerName: 'Update', cellRenderer: function (params) {
            var eCell = document.createElement('span');
            eCell.innerHTML = '<button>Update</button>';
            return eCell;
          }
        };

      });
  

Ответ №1:

вы можете прослушать приведенные ниже события и сохранить старые значения в некоторой переменной / объекте, которые вы можете использовать при нажатии кнопки.

 onCellEditingStarted: function(event) {
var oldCellValue = event.value; // save this value by attaching it to button or some variable
console.log('cellEditingStarted');
},


onCellEditingStopped: function(event) {
var editedCellValue = event.value;
console.log('cellEditingStopped');
},