kav*_*vun 2 javascript slickgrid
如果为可编辑列定义了分组聚合器,则在提交该列的编辑时,默认情况下该列的分组总计不会更新.
在下面的代码示例中,dataView.refresh()每当为某个列提交编辑时,我都可以调用,但这会重新计算具有分组聚合器的所有列的分组聚合器总数.
grid.onCellChange.subscribe(function (e, args) {
var dataView = grid.getData();
var column = grid.getColumns()[args.cell];
if (column.id === 'MyEditableColumn') {
dataView.refresh();
}
});
Run Code Online (Sandbox Code Playgroud)
对于数千个数据项和许多分组聚合器,在旧版浏览器中这可能是计算量很大,特别是如果在具有分组聚合器的列中的每次编辑之后发生这种情况.有没有办法只为一列重新计算单个分组聚合器?
首先,如果您使用的是DataView,您应该通知它该特定项目的更新:
grid.onCellChange.subscribe(function (e, args) {
dataView.updateItem(args.item.id, args.item);
});
Run Code Online (Sandbox Code Playgroud)
现在,它现在实施的方式,它将导致完全重新计算(而不仅仅是聚合器 - 过滤器,组等;所有这些可能由于项目的更改而改变了!),这通常很快足够在甚至更旧的浏览器中至少50'000行.将recalc限制为仅特定列更改不起作用.
| 归档时间: |
|
| 查看次数: |
753 次 |
| 最近记录: |