gpt4 book ai didi

javascript - 仅为一列重新计算 SlickGrid 分组聚合器总计

转载 作者:行者123 更新时间:2023-11-29 17:13:50 25 4
gpt4 key购买 nike

如果为可编辑列定义了分组聚合器,则在提交对该列的编辑时,默认情况下该列的分组总数不会更新。

在下面的代码示例中,每当对特定列提交编辑时,我都可以调用 dataView.refresh(),但这将重新计算所有的分组聚合器总计> 带有分组聚合器的列。

grid.onCellChange.subscribe(function (e, args) {
var dataView = grid.getData();
var column = grid.getColumns()[args.cell];
if (column.id === 'MyEditableColumn') {
dataView.refresh();
}
});

对于数以千计的数据项和许多分组聚合器,这在旧版浏览器中的计算量可能很大,尤其是在使用分组聚合器对列进行每次编辑之后都会发生这种情况。有没有办法为一个列重新计算单个分组聚合器?

最佳答案

首先,如果您使用的是 DataView,您应该通知它该特定项目的更新:

grid.onCellChange.subscribe(function (e, args) {
dataView.updateItem(args.item.id, args.item);
});

现在,按照现在的实现方式,它将导致完全重新计算(而不仅仅是聚合器 - 过滤器、组等;所有这些都可能由于项目的变化而发生变化!),这在甚至更旧的浏览器中,对于至少 50'000 行来说通常足够快。将重新计算限制为仅对特定列进行更改是行不通的。

关于javascript - 仅为一列重新计算 SlickGrid 分组聚合器总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19805031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com