历史版本4 :排序学习路径 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

FineReport 支持三种排序类型:数据集中的排序、高级排序、扩展后排序。

FineReport 可实现的排序效果如下表所示:

排序类型简介
单列非动态排序

模板预览后,某列按照降序或升序的顺序排列

1651804093817633.png

单列动态排序

模板预览后,用户可点击表头进行升序或降序排序

1651804171932104.gif

多列非动态排序

数据先按 A 列排序,B 列再按对应的 A 列排

1651804285452872.png

多列动态排序

可点击表头实现多列的升序或降序

1651804317309374.png

2. 新手学习路径编辑

章节内容参考文档
第1章快速入门
1.1以一个简单实例,实现排序效果8.png单列排序
第2章基础知识及练习
2.1简单了解三种排序方式
-排序
2.2学习「高级排序」的使用方法,并按照文档示例实操一遍,加深印象

1)可对以下字段类型进行排序:

时间、日期、字符串、数字、布尔类型

2)可实现排序效果:

  • 不支持动态排序

  • 11.0.3 及之后版本,支持多列排序

  • 11.0.3 之前版本,只能实现单列排序

高级排序
2.3

学习「扩展后排序」的使用方法,并按照文档示例实操一遍,加深印象

1)可对以下字段类型进行排序:

时间、日期、字符串、数字、布尔类型

2)可实现排序效果:

  • 单列/多列通过点击表头,实现升序或降序

  • 模板预览后,单列/多列按照之前设置的顺序排序

注:11.0.3 及之后版本,支持动态排序、支持多列排序

扩展后排序
2.4

学习「数据集中的排序」的使用方法,并按照文档示例实操一遍,加深印象

可实现排序效果:

  • 单列升序/降序

  • 多列排序

  • 动态排序

数据集中的排序

3. 进阶学习路径编辑

章节场景实现思路参考文档
第1章单列排序
1.1点击标题实现升序和降序交换显示

通过添加超级链接-动态参数 & 在单元格扩展后排序中添加公式实现:

  • 点击数据列标题时,将该数据列所在单元格作为参数进行传递

  • 在扩展后排序公式中接收该参数,根据参数的不同,实现不同的排序

点击某一列标题改变排序
1.2在对报表进行 扩展后排序 之后,若直接使用单元格插入公式 seq() 或者 &cell 这两种方法获取序号,序号的顺序是乱序的,想让它变成正常的排序

需要在数据排序结束后,对序号所在单元格附新值,根据排序后的结果添加序号。文档中所使用的方法:

方法一:设置条件属性新值

方法二:设置公式形态

方法三:添加加载结束事件,利用 JavaScript 代码解决

扩展后排序重新编号
第2章多列排序
2.1

点击第一列,则根据第一列升序或降序排列;点击第二列,则根据第二列升序或降序排列

通过添加超级链接-动态参数 & 在单元格扩展后排序中添加公式实现:

  • 点击数据列标题时,将该数据列所在单元格作为参数进行传递。

  • 在扩展后排序公式中接收该参数,根据参数的不同,实现不同的排序

多列动态排序
2.2希望先按照A进行排序,再按照B进行排序

1)字符类型数据:

通过INARRAY(字符, SORTARRAY(UNIQUEARRAY(扩展的所有字符)))获得排序位置

2)数值类型数据:

将多个需要排序的数值果经过运算处理得出一个新的数值,最后按照新数进行排序

扩展后多列按先后排序
2.3点击列标题,可对该列进行升降排序,而列标题是根据字段横向扩展得来的获取点击列的所有值,在销售员的单元格属性中,设置扩展后排序,销售员根据点击列的所有值进行排序横向扩展列多列排序
第3章自定义排序
3.1

通过高级排序-自定义顺序可以直接在公式里面逐个定义每个数据项的顺序,但有时会使公式阅读起来困难且不易维护

这时可以通过使用「内置数据集」来自定义顺序

在内置数据集中定义好数据项顺序,通过数据集函数获取值,再通过inarray() 函数返回单元格值在内置数据集中的位置,实现排序效果利用内置数据集实现自定义排序
第4章分组排序
4.1

对于分组报表,有各种小计、合计、以及列表一起存在的

希望按照各个分组逐层进行排序

在相应的左父格上设置扩展后排序即可达到排序目的按分组汇总结果排序
第5章组内排序
5.1希望在同一张报表中,可以实现分组动态排序且互不影响的效果-
分组内排序互不干扰
第6章排序问题汇总及解决方案
6.1排序问题汇总及解决方案
-排序FAQ