历史版本16 :排序简介 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 概述编辑
本文对 FineReport 支持的各类排序进行简单介绍,详情可点击索引下对应文档查看。
2. 排序简介编辑
2.1 不同类型排序简介
FineReport 支持的三种排序类型分别为:数据集中的排序、高级排序、扩展后排序。这三种排序优缺点如下表所示:
注:高级排序是在报表执行前进行排序,扩展后排序是报表执行后再进行排序。
排序类型 | 功能简介 | 优点 | 缺点 |
---|---|---|---|
数据集中的排序 | 通过在数据集中写 SQL 语句,直接在数据库查询时排序。 | 性能最佳 |
|
高级排序 | 报表根据某「数据列」设置公式和排列顺序进行排序。相当于扩展前排序,依赖于「数据列」 |
| 公式必须依赖于「数据列」,并且会导致公式的二次计算 |
扩展后排序 | 支持前两种排序,也支持对包含各类计算的扩展后的报表进行排序 | 最为灵活,满足目前所有的排序需求 | 由于在扩展完成后进行排序,会对所有格子的位置进行调整,因此性能最差 |
2.2 排序应用索引
帮助文档 | 应用场景 | 效果图预览 |
---|---|---|
利用内置数据集实现自定义排序 | 希望按照自己设置的文本顺序排序,不通过公式规则排序 | ![]() |
扩展后排序重新编号 | 有序号的情况下,扩展后排序会乱序,需要重新编号 | |
扩展后多列按先后排序 | 类似于 SQL 语句中的 order by A,B ,使用扩展后排序实现 | |
点击标题改变排序 | 实现「单列」数据点击列标题时改变升序或降序 | ![]() |
多列动态排序 | 实现「多列」数据点击标题时改变升序或降序 | ![]() |
横向扩展列多列排序 | 当标题列是由单元格横向扩展得来时,同样要实现点击列标题动态排序 | ![]() |
排序添加动态箭头 | 动态排序时,在标题上加上箭头表示当前排序状态 | ![]() |
按分组汇总结果排序 | 当数据有分组时,先按各分组的汇总结果排序,分组内再按各个值的顺序排序 | |
分组内排序互不干扰 | 数据有分组的情况下,在分组内各自动态排序互不影响 | ![]() |
多级项目符号排序 | 报表中存在多级项目符号(即将多个数字用「 . 」隔开的字符串)时按先后排序 | ![]() |
扩展后中文按拼音排序 | 中文排序一般是按 ASCII 码进行排序,但希望其按拼音排序 | ![]() |
汉字数字排序 | 当报表中存在用汉字表达的数字序号时,希望按数字大小排序 | ![]() |
排序FAQ | 对使用排序时遇到的各类问题及解决方案进行汇总 |
2.3 图表排序
FineReport 报表一般包括纯粹的数据展示、图表展示和控件展示,排序一般应用在数据展示中比较多,但是图表中也会稍微涉及到一点,那么在图表中的排序需要注意以下几点:
1)图表数据来源于「数据集」,故对图表排序就需要对数据集中的数据进行排序,则需要使用 数据集中的排序。
2)图表数据来源于单元格,故对图表排序就是对单元格中的数据进行排序,即可以 高级排序 和 扩展后排序。
3)图表排序还提供接口,详细示例请查看 [新]图表排序接口。