AG-Grid + React - 添加新行时忽略网格排序
AG-Grid + React - ignore grid sort when adding new row
在使用 AG-Grid Enterprise、React 和 Redux 的应用程序中,我想以编程方式向启用排序的网格添加新行。 是否可以忽略网格排序并将此新行插入特定的网格位置?
为了阐明这种情况,我在 AG-Grid's website and created a new one here.
上分叉了 Simple Immutable Store Plnkr
在原来的 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 场景中定义了排序。
事实证明,从 AG-Grid 17+ 开始,一个名为 postSort
的新回调可用(参见 https://www.ag-grid.com/javascript-grid-sorting/#post-sort)。
如上文档所述,即使在应用排序后,此回调也可用于调整行顺序。
在使用 AG-Grid Enterprise、React 和 Redux 的应用程序中,我想以编程方式向启用排序的网格添加新行。 是否可以忽略网格排序并将此新行插入特定的网格位置?
为了阐明这种情况,我在 AG-Grid's website and created a new one here.
上分叉了 Simple Immutable Store Plnkr在原来的 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 场景中定义了排序。
事实证明,从 AG-Grid 17+ 开始,一个名为 postSort
的新回调可用(参见 https://www.ag-grid.com/javascript-grid-sorting/#post-sort)。
如上文档所述,即使在应用排序后,此回调也可用于调整行顺序。