Lynn.Dou 发表于 2021-12-30 12:16:25

利用自定义排序实现中文排序

背景:
目前SJS排序方式不支持中文排序,所以需要利用自定义排序来实现。
关于自定义排序相关内容请参考学习指南:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/worksheet/sort#

接下来主要介绍如何实现中文排序。
主要代码:
var isAscending;

function initSpread(spread) {
...
sheet.bind(GC.Spread.Sheets.Events.RangeSorting, function (e, info) {
                isAscending = info.ascending;
                info.compareFunction = sortDomain
            });
...
}

function sortDomain(value1, value2) {
            console.log(value1, '---------', value2)
            console.log(isAscending);

            if(value1 && value2) {
                return value1.toString().localeCompare(value2.toString(), 'zh');
            } else if(!value1 && !value2) {
                return 0;
            } else if(value1 && !value2) {
                return isAscending?-1:1;
            } else if(!value1 && value2) {
                return isAscending? 1:-1;
            }
      }最终效果如下图:


完整代码请参考附件demo。
页: [1]
查看完整版本: 利用自定义排序实现中文排序