SpreadJS自定义排序(中文排序)
本帖最后由 lynn512 于 2021-3-16 13:58 编辑SpreadJS V13.1 支持了自定义排序方法,可以通过回调函数compareFunction来自定义排序比较的逻辑。
由此我们可以实现中文按照拼音排序,或者实现类似版本好的排序,比如1.1.10和12.1.0的比较
实现自定义排序有两种方法
1. 调用sortRange时,sortInfo中添加compareFunction回调
如:function pinyinCompare (obj1, obj2) {
return obj1.toString().localeCompare(obj2.toString(), 'zh');
}
sheet.sortRange(1, 0, 8, 2, true, [
{index:0, ascending:true, compareFunction: pinyinCompare}, //中文排序
]);
2. 在RangeSorting事件中注入
如:
function compareSize(value1, value2) {
//...
//return -1;
//return 1;
return 0;
}
sheet.bind(GC.Spread.Sheets.Events.RangeSorting, function (e, info) {
//if(info.range is suited) {
info.compareFunction = compareSize;// set the customize function.
//}
});
两种方法只要根据使用场景选择即可。
页:
[1]