使用onCellValueChanged()事件处理程序更改值更新工具提示

时间:2017-08-18 18:03:00

标签: tooltip ag-grid

我在columnDefs上设置了一个'工具提示',如下所示,

var columnDefs = [{
  headerName: "City",
  field: "city",
  cellRenderer: function(params) {
   return '<span title="'+params.value+'">'+params.value+'</span>';
  },
  editable: true
}

使用单元格中的值将鼠标悬停在单元格上时,可以正确呈现此工具提示。 现在我也在onCellValueChanged()事件处理程序中进行单元格编辑后捕获旧值和新值,如下所示,

onCellValueChanged: function(params) {
  if (params.oldValue !== params.newValue) {
    // Send the values to the tool tip
  }
}

是否可以使用onCellValueChanged()处理程序中捕获的值更新我的工具提示?我的意思是,将params.oldValue和params.newValue()以某种方式传递给我的cellRenderer上的'tooltip'。

1 个答案:

答案 0 :(得分:0)

此问题已修复,此demo会在发生更改时更新工具提示。

var oldValue = params.oldValue;
var newValue = params.newValue;

var recordKey = params.data.key;
var columnField = params.colDef.field;

if (!_.isEqual(oldValue, newValue)) {
  if (!cellMetadata[recordKey]) {
    cellMetadata[recordKey] = {};
  }
  if (!cellMetadata[recordKey][columnField]) {
   cellMetadata[recordKey][columnField] = {};
 }

cellMetadata[recordKey][columnField].trackChanges = true;
cellMetadata[recordKey][columnField].tooltip = 

  columnField.toUpperCase() + ' ' + 'Changed from' + ' ' + oldValue + ' ' + 'to' + ' ' + newValue;
  }