问题描述
我正在使用8号角的ag-grid。
使用下面给出的代码,我可以在前三列可编辑的网格上呈现数据,在第四列中有一个更新按钮。
现在单击更新按钮。我必须发送所有三个可编辑列值的旧值以及新值,以便我可以在后端更新相同的值。
但是我不确定如何从编辑后的网格中获取旧值和新值。
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;
}
};
});
解决方法
您可以收听以下事件,并将旧值保存在某些变量/对象中,以便在单击按钮时使用。
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');
},