AG-Grid + React-添加新行时忽略网格排序

时间:2018-10-08 22:16:58

标签: ag-grid ag-grid-react

在使用AG-Grid Enterprise,React和Redux的应用程序中,我想以编程方式向已启用排序的网格中添加新行。 是否可以忽略网格排序并将新行插入特定的网格位置?

为弄清这种情况,我在AG-Grid's website分叉了简单不可变商店Plnkr,并创建了一个新的here

在原始的Plnkr中,按钮Append将项目添加到列表的末尾。在分叉版本中,由于价格升序排序,并且由于新项目不再定义价格,所有附加项目将显示在网格的第一个位置。

我的理解是,发生这种情况是因为在下面的摘录(this.gridApi.setRowData)的最后一行中,AG-Grid将添加新行并触发排序,过滤器等。

addFiveItems(append) {
    var newStore = immutableStore.slice();
    for (var i = 0; i < 5; i++) {
      var newItem = createItem(append);
      if (append) {
        newStore.push(newItem);
      } else {
        newStore.splice(0, 0, newItem);
      }
    }
    immutableStore = newStore;
    this.gridApi.setRowData(immutableStore);
  }

请记住,是否有任何AG-Grid API允许在激活排序时将项目添加到特定的网格位置??目的是使Append按钮保持原始状态行为:即使在此AG-Grid Enterprise,React和Redux场景中定义了排序,也将项目追加到网格的末尾。

1 个答案:

答案 0 :(得分:0)

结果证明,从AG-Grid 17+开始,可以使用名为postSort的新回调(请参见https://www.ag-grid.com/javascript-grid-sorting/#post-sort)。

如上面的文档中所述,即使在应用排序后,此回调也可用于调整行顺序。