反馈已提交

网络繁忙

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

排序场景方案

  • 文档创建者:Wendy123456
  • 历史版本:3
  • 最近更新:Carly 于 2023-02-21
  • 1. 概述

    本文列出用户在使用排序功能时的具体需求及对应方案。

    注:FineReport 支持的三种排序类型分别为:数据集中的排序、高级排序、扩展后排序。这三种排序方式的介绍请参见:排序

    2. 单列排序

    2.1 非动态排序

    2.1.1 实现效果

    数据列按照升序或降序排列。如下图所示:

    1646362945375471.png

    2.1.2 方案推荐

    方案备注
    数据集中的排序

    通过 SQL 直接在数据库查询时排序

    如果某一列是通过其他数据列计算得出的,该方案将不再适用

    高级排序

    高级排序必须在「最父格」单元格设置

    2.2 动态排序

    2.2.1 实现效果

    点击某个数据列的表头,实现排序效果。如下图所示:

    1646375560572201.gif

    2.2.2 方案推荐

    方案备注
    数据集中的排序

    通过 SQL 直接在数据库查询时排序

    如果某一列是通过其他数据列计算得出的,该方案将不再适用

    点击某一列标题改变排序

    支持数字、字符串数据的排序

    若某一列是通过其他数据列计算得出的,该方案适用

    扩展后排序

    -

    JS实现决策报表中点击标题排序-

    3. 多列排序

    3.1 非动态排序

    3.1.1 实现效果

    数据先按 A 列排序,B 列再按对应的 A 列排序。如下图所示:

    1646375671255887.png

    3.1.2 方案推荐

    方案备注
    数据集中的排序

    通过 SQL 直接在数据库查询时排序

    如果某一列是通过其他数据列计算得出的,该方案将不再适用

    扩展后多列按先后排序-

    3.2 动态排序

    3.2.1 实现效果

    用户通过点击表头,实现多个列的升序或降序效果。如下图所示:

    1646364889399386.gif

    3.2.2 方案推荐

    方案备注

    1)方案:

    多列动态排序

    2)效果:

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

    -

    横向扩展列多列排序

    6.gif

    列标题是根据字段横向扩展得来的,点击列标题,实现升序或降序

    动态列实现多列排序

    7.gif

    在动态列的基础上,能够对每列进行单独的排序
    特殊多列排序决策报表的报表块在多列排序的基础上可以实现:点第一下降序,点第二下升序,点第三下恢复原状
    JS实现决策报表中点击标题排序决策报表中多列通过点击标题进行排序

    4. 自定义排序

    场景描述效果实现参考方案
    自定义排序的项较少时
    1646375939945471.png高级排序-自定义顺序
    自定义排序的项较多时11.png利用内置数据集实现自定义排序

    5. 图表排序

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

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

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

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

    注:图表在不同分类下分别排序请参见:图表不同分类下分别排序

    6. 分组排序

    场景描述效果实现参考方案
    按分组汇总结果排序:先对「销售员小计」排序,再对「产品类型小计」排序,最后对「产品列表」排序12.png按分组汇总结果排序

    7. 组内排序

    场景描述效果实现参考方案
    实现分组动态排序且互不影响的效果:例如当点击华东的销量时,华东的销量改变排序,华北的销量不受到影响;当点击华北的销量时,华北的销量改变排序,华东的销量不受到影响2.gif分组内排序互不干扰

    8. 其他场景

    场景描述效果实现参考方案
    想要在标题上设置「箭头」以体现当前是哪一列排序,是升序还是降序1615788857221879.gif排序添加动态箭头
    在对报表进行扩展后排序之后,若直接使用单元格插入公式 seq() 或者 &cell 这两种方法获取序号,序号的顺序是乱序的,如何让它变成正常的排序呢9.png扩展后排序重新编号
    按照中文的拼音先后顺序进行排序10.png扩展后中文按拼音排序
    「序号」是用汉字数字来表示的,那么要如何对它进行排序呢13.png汉字数字排序
    当报表中存在多级项目符号时,如何对它进行排序14.png多级项目符号排序
    在填报录入数据时,希望序号可以自动生成,且新增或删除数据行时,序号不会断开8.gifJS实现填报自动生成序号并排序
    填报的时候可以对表格进行排序。使用扩展后排序,发现了每次点击表头排序时都会刷新一下页面,这样就会导致刚刚填报的数据被刷新没了,右侧方案可解决此问题-JS实现不刷新页面进行排序功能




    附件列表


    主题: 报表专题
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

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

    总裁办24H投诉

    热线电话:173-1278-1526