通过数据透视表透视某些字段的数据特征时,也可以对字段排序,支持的排序方式有升序、降序、自定义排序。虽然SpreadJS Designer暂未提供数据透视表字段自定义排序的UI触发方式,但提供了相关的API,我们从API来了解这个功能:https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Pivot.PivotTable-1#sort
一般地,排序时需要指定目标字段和排序方式,如接口PivotTable:sort(filedName, sortInfo)的参数列表所示,filedName即待排序目标字段,sortInfo包含了排序方式等信息。对于升序或降序方式,SpreadJS自然知道如何根据字段值排序,比如对于数字的升序或降序即根据数值大小升降序、对于字符串的升序或降序则根据字母排列顺序升降序等。那么对于自定义排序呢?SpreadJS原本并不知道如何对字段排序,因此需要一并指定自定义排序的策略,比如以字符串的长度为排序条件,如下代码所示:
- pivotTable.sort('名称', {
- sortType: GC.Spread.Pivot.SortType.custom,
- customSortCallback: function(fieldItemNameArray) {
- return fieldItemNameArray.sort((a, b) => a.length - b.length);
- }
- });
复制代码
遵照PivotTable:sort()的参数定义,在自定义排序时指定排序方式、排序策略等核心要素,SpreadJS便可据此识别排序规则并尝试排序,请参考官网API文档了解更多详情。
|
|