Editor Slickgrid render()未保持当前单元格编辑处于活动状态

Editor Slickgrid render()未保持当前单元格编辑处于活动状态,editor,render,slickgrid,Editor,Render,Slickgrid,当代码中的值发生更改时,我要在dataview上处理以下事件。问题是,当触发对render()的调用时,会导致提交任何现有编辑器。我不想那样。或者至少我想开始编辑在调用render()之前正在编辑的单元格。关于如何防止编辑器提交或重新打开它,有什么想法吗 dataView.onRowsChanged.subscribe(function (e, args) { grid.invalidateRows(args.rows); grid.render(); dataView.

当代码中的值发生更改时,我要在dataview上处理以下事件。问题是,当触发对render()的调用时,会导致提交任何现有编辑器。我不想那样。或者至少我想开始编辑在调用render()之前正在编辑的单元格。关于如何防止编辑器提交或重新打开它,有什么想法吗

dataView.onRowsChanged.subscribe(function (e, args) {
    grid.invalidateRows(args.rows);
    grid.render();
    dataView.syncGridSelection(grid, true);
});

我明白了。将我的代码更改为此,它只更新单元格而不是网格(每个都与for循环相同,是下划线js)

此外,如果在gridOptions中使用enabledAddress=true,则在添加行时需要执行此操作,以便添加行并重新启用编辑器

dataView.onRowCountChanged.subscribe(function (e, args) {
  //store the active cell and editor
  var activeCell = grid.getActiveCell();
  var activeEditor = grid.getCellEditor();

  grid.render();
  grid.updateRowCount();

  //make the active cell editable
  if (activeEditor) {
    grid.setActiveCell(activeCell.row, activeCell.cell);
    grid.editActiveCell();
  }

  dataView.syncGridSelection(grid, true);
});
dataView.onRowCountChanged.subscribe(function (e, args) {
  //store the active cell and editor
  var activeCell = grid.getActiveCell();
  var activeEditor = grid.getCellEditor();

  grid.render();
  grid.updateRowCount();

  //make the active cell editable
  if (activeEditor) {
    grid.setActiveCell(activeCell.row, activeCell.cell);
    grid.editActiveCell();
  }

  dataView.syncGridSelection(grid, true);
});