历史版本24 :扩展后排序 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本说明

报表服务器版本功能变动
11.0.3
  • 支持设置表头排序,点击表头可以动态排序

  • 支持设置多列排序,可以根据多个数据列组合排序

1.2 应用场景

扩展后排序在制作报表过程中可以实现多种排序需求,是最灵活的排序方式,

但由于在扩展完成后进行排序,会对所有格子的位置进行调整,因此性能最差。建议在 高级排序 无法实现的情况下再使用「扩展后排序」。

1645520319704659.gif

扩展后排序在单元格属性面板的扩展下设置,如下图所示:

1645520399714015.png

1.3 功能简介

不管在哪个单元格上设置扩展后排序,都是可以生效的,只要最父格的数据设置是列表即可,详细介绍见下面示例的介绍。

只添加主要排序是实现单列排序,在添加了主要排序后再添加次要排序可以实现多列排序。

不管是主要排序还是次要排序,里面的设置项都是一样的,共有3个,简介如下:

  • 排序区域:选择某个单元格(数据列),作为排序的依赖

  • 排序依据:规定该数据列数据升序和降序的依据是什么,可以是单元格、公式、自定义序列

  • 排序规则:可以选择升序、降序、不排序

可以设置表头排序,实现点击表头后,可以选择不同的排序方式,即动态排序效果。

1645520666844840.png

2. 示例编辑

此处提供一个单列排序(只依赖一个数据列排序)且点击表头可以动态排序的示例,演示下设置方法。

2.1 设计报表

1)新建一张空白的普通报表,新建一个数据库查询数据集 ds1,SQL 语句为:SELECT * FROM 订单

2)如下图设计表格,将字段拖到对应单元格中。

Snag_17b1077.png

3)将两个日期字段所在单元格 C2 和 D2 的格式改为日期型,yyyy-MM-dd 样式,如下图所示:

Snag_17b8df4.png

4)将 F2 单元格的格式改为数字,#0.00 样式,也就是保留两位小数,如下图所示:

Snag_17bdcc0.png

2.2 设置排序

1)选中最父格 A2,将其数据设置从分组改为列表,这样在其他单元格(B2~F2)设置扩展后排序也是能生效的,否则只能在最父格设置。

这步只是告诉您有这样的注意事项,示例还是在最父格 A2 上设置扩展后排序。

Snag_17cdcda.png

2)选中 A2 单元格,点击单元格属性面板扩展后排序功能的添加主要排列序

Snag_17e5532.png

3)将排序区域选择为 F2 单元格,排序依据设置为单元格,排序规则设置为降序,如下图所示:

这样报表预览时,所有数据默认是按照运货费字段进行降序排序的。

Snag_1800a06.png

4)设置表头区域为 F1 单元格,勾选允许用户点击排列顺序,排序依据保持默认勾选的三个即可。

这样预览时,点击运货费的表头时,可以弹出三个排序方式供用户选择,实现动态排序效果。

Snag_182be59.png

2.3 效果预览

保存报表,分页预览后的效果如 1.2应用场景 中所示。

同时支持 App 端和 HTML5 端预览。

3. 多列动态排序编辑

扩展后排序现在支持设置多列排序,也就是可以依赖多个数据列进行组合排序。

且可以设置多个表头进而再实现多列动态排序,实际效果如下图所示:

1645523745668032.gif

实现多列排序只需要设置好主要排序和次要排序即可实现,设置方法如下图所示:

Snag_1a89a5d.png

添加多个表头的方法:

  • 选中 A2 单元格,设置表头区域为 C1

  • 选中 E2 单元格,设置表头区域为 E1

  • 选择 F2 单元格,设置表头区域为 F1

Snag_1aa9562.png

4. 模板下载编辑

已完成模板可参见:

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\单列扩展后排序.cpt

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\多列动态扩展后排序.cpt

点击下载模板:

单列扩展后排序.cpt

多列动态扩展后排序.cpt