首页 > 解决方案 > 如何使用角度 7 将新行添加到 ag 网格的特定索引

问题描述

我正在尝试将新行添加到 ag-grid 的特定索引中,但我无法添加它。当我尝试添加它时,它会再次在网格中添加整个内容并与新行一起创建副本。请帮助我。

我正在获取所选行的索引,并且我想在所选行下方添加新行。

获取选定行的索引的代码。

  onRowClick(event: any): void  {
    this.index = event.rowIndex;
  }

我在 angular-ag-grid 中调用它,如下所示:

   (rowClicked)="onRowClick($event)"

在下面添加行是我的尝试:

 addRow(){
  this.lst.push( {"slNo": this.index,"id":3, "rank":1,
  this.gridApi.updateRowData({
  add: this.lst,
  addIndex: index
  });
}

这里 lst 是包含 arraylist 格式的所有行的对象模型,我正在将新行推送到该数组。我从 onRowClick 事件中获得索引。

当我尝试使用上述方法时,它会复制数组中已经存在的值以及新行。

请帮我 !

标签: angularindexingag-grid

解决方案


的实际用法api.updateRowData(transaction)只需要您将尝试添加的特定行传递到参数中。因此,您不应该传入整个lst对象,因为这会导致整个对象在您的 ag-grid 中被复制。

这是你应该做的:

addRow(){
  // Assuming newRow is an object, such as {"slNo": this.index,"id":3, "rank":1}
  this.gridApi.updateRowData({
    add: newRow,
    addIndex: index
  });
}

官方文档提供了一些不错的示例供您参考。


推荐阅读