【问题标题】:Get node ID of added data/row获取添加的数据/行的节点ID
【发布时间】:2020-11-10 18:59:12
【问题描述】:

这不会那么难。我在文档中没有找到任何内容。

使用带有行的基本表。作为粘贴工具的一部分,我将数据添加到表中,对象都是唯一的。

我正在使用 addItems,将数据添加为对象,即 addItems(object),然后将其添加为节点,但我如何获取添加的节点的 id。

addItems 返回 void 因此,除非您设置自己的 RowNodeId,否则据我所知,您无法在添加后获取节点。

更新: 使用 updateRowData 返回的 RowNodeTransation 对象

【问题讨论】:

  • 您介意在 StackBlitz 之类的某个地方创建一个简单的场景示例吗?

标签: ag-grid ag-grid-angular


【解决方案1】:

你试过gridOptions.api.applyTransaction

这是一个代码 sn-p,它为您提供使用上述方法添加/删除/更新的节点。

    function addItems() {
    var newItems = [createNewRowData(), createNewRowData(), createNewRowData()];
    var res = gridOptions.api.applyTransaction({ add: newItems });
    printResult(res);
    }

    function printResult(res) {
      console.log('---------------------------------------');
    if (res.add) {
        res.add.forEach(function(rowNode) {
          console.log('Added Row Node', rowNode);
        });
      }
      if (res.remove) {
        res.remove.forEach(function(rowNode) {
          console.log('Removed Row Node', rowNode);
        });
      }
      if (res.update) {
        res.update.forEach(function(rowNode) {
          console.log('Updated Row Node', rowNode);
        });
      }
    }

【讨论】:

  • 嗨,感谢您的建议,但 updateRowData 本身确实返回 RowNodeTransation 对象,正如我在我的问题中提到的那样,所以从这个意义上说它们是相同的。我在使用 v22.1.2 的 GridApi 对象上也没有可用的 applyTransaction
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-25
相关资源
最近更新 更多