SpreadJS V13.2新特性——排序功能增强
本帖最后由 Fiooona 于 2020-8-29 23:12 编辑在V13.2 新版本中对排序功能做了增强。
一、按组排序
背景: 在SpreadJS 中有区域分组的功能,如果您有一个要进行组合和汇总的数据列表,则可以创建分级显示。可创建行的分级显示和列的分级显示。 行的分级显示面板在行头的左边; 列的分级显示面板在列头的上面。使用分级显示可以对数据分组并快速显示汇总行或汇总列,或者显示每组的明细数据。在这种场景下,传统的升序或降序排序无法满足需求。
思路:SpreadJS 在设置排序时,可以使用groupSort函数来设置是否将数据分组排序。参考API
例如:排序前
全排序,对组及组内数据进行排序:
对分组不排序,仅在组内进行排序:
参考代码:
spread.bind(GC.Spread.Sheets.Events.RangeSorting, function (e, info) {
info.groupSort = GC.Spread.Sheets.GroupSort.child;
});针对不同情况,可选择设置参数:flat、group、child、full
二、排序忽略隐藏行
在对具有隐藏行的数据进行排序时,SpreadJS 的表现如 Excel 一样,会忽略隐藏行,不将其包括在排序内。
此功能在该版本中已实现,通过在排序时将 ignoreHidden 选项设置为 true 启用此行为,如在 sortRange 方法或在 RangeSorting 事件中设置:
sheet.sortRange(0, 0, 10, 1, true, [{index:0, ascending: true}], {ignoreHidden: false});
sheet.bind(GC.Spread.Sheets.Events.RangeSorting, function (e, info) {
info.ignoreHidden = true;
});
V13.1 版本开始支持自定义排序:
SpreadJS自定义排序(中文排序)
页:
[1]