反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

排序

  • 文档创建者:lu123
  • 编辑次数:18次
  • 最近更新:Alicehyy 于 2021-03-31
  • 1. 概述

    在 FineReport 报表进行数据展示或图表展示时,经常会用到「排序」功能。一般在数据展示中应用比较多,图表中也会稍微涉及到一点。

    本文将介绍 FineReport 支持的各类排序,以及对排序的各种应用进行简单介绍,详情请点击「索引」下对应文档查看。

    1.1 排序简介

    FineReport 支持的三种排序类型分别为:数据集中的排序、高级排序、扩展后排序。这三种排序优缺点如下表所示:

    注:高级排序是在报表执行前进行排序,扩展后排序是报表执行后再进行排序。

    排序类型功能简介优点缺点
    数据集中的排序通过在数据集中写 SQL 语句,直接在数据库查询时排序。
    性能最佳
    • 所有计算都必须要在数据库中做,会导致 SQL 很复杂,难以维护

    • 有些计算是无法用 SQL 完成的

    高级排序报表根据某「数据列」设置公式和排列顺序进行排序。相当于扩展前排序,依赖于「数据列」
    • 性能中等

    • 可以基于「数据列」利用公式做一些稍微复杂些的排序

    公式必须依赖于「数据列」,并且会导致公式的二次计算

    扩展后排序支持前两种排序,也支持对包含各类计算的扩展后的报表进行排序最为灵活,满足目前所有的排序需求由于在扩展完成后进行排序,会对所有格子的位置进行调整,因此性能最差

    1.2 图表排序

    FineReport 报表一般包括纯粹的数据展示、图表展示和控件展示,排序一般应用在数据展示中比较多,但是图表中也会稍微涉及到一点,那么在图表中的排序需要注意以下几点:

    1)图表数据来源于「数据集」,故对图表排序就需要对数据集中的数据进行排序,则需要使用 数据集中的排序

    2)图表数据来源于单元格,故对图表排序就是对单元格中的数据进行排序,即可以 高级排序 和 扩展后排序

    3)图表排序还提供接口,详细示例请查看 [新]图表排序接口

    2. 索引

    帮助文档
    应用场景效果图预览
    利用内置数据集实现自定义排序希望按照自己设置的文本顺序排序,不通过公式规则排序
    扩展后排序重新编号有序号的情况下,扩展后排序会乱序,需要重新编号

    扩展后多列按先后排序类似于 SQL 语句中的 order by A,B ,使用扩展后排序实现

    点击某一列标题改变排序实现「单列」数据点击列标题时改变升序或降序1.gif
    多列动态排序实现「多列」数据点击标题时改变升序或降序2.gif
    横向扩展列多列排序当标题列是由单元格横向扩展得来时,同样要实现点击列标题动态排序3.gif
    排序添加动态箭头动态排序时,在标题上加上箭头表示当前排序状态4.gif
    按分组汇总结果排序当数据有分组时,先按各分组的汇总结果排序,分组内再按各个值的顺序排序

    分组内排序互不干扰
    数据有分组的情况下,在分组内各自动态排序互不影响1615689005500610.gif
    多级项目符号排序
    报表中存在多级项目符号(即将多个数字用「 . 」隔开的字符串)时按先后排序
    扩展后中文按拼音排序
    中文排序一般是按 ASCII 码进行排序,但希望其按拼音排序
    汉字数字排序
    当报表中存在用汉字表达的数字序号时,希望按数字大小排序
    排序FAQ
    对使用排序时遇到的各类问题及解决方案进行汇总


    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526