资讯专栏INFORMATION COLUMN

FineReport实现根据点击次数奇偶性排序的方法

JouyPub / 2688人阅读

摘要:扩展后排序选中单元格,在单元格属性表扩展属性中的扩展后选择升序,值为公式,如下图图片描述注公式意义同上,此处是根据单元格进行排序,所以公式中输入的是单元格,不是数据列名字。

使用FineReport报表软在进行排序的时,很多时候您可能想实现根据点击的次数进行升降序排序,也就是说点击第一次点击标题升序排序,再次点击就降序,以此类推,而不是通过选择升序进行升序排列,选择降序进行降序排列。
由扩展后排序可知,可以根据参数值的不同来决定升序还是降序,这里也可以此思路进行实现,定义一个参数,如果参数值为1的时候,就升序,参数值为0的时候,按照数据列的负数进行升序排序,即数据列降序。
本文所提供的方法,只适用于排序数据列数据类型为数字型的字段。数据类型为字符型,我们下节再介绍。
下面以一个简单示例进行介绍,模板根据订单ID进行升序降序排列,第一次点击订单ID的时候升序,再次点击时降序,以此类推。

1、设置超链接
选中A1单元格,右键选择超级链接,添加一个动态参数,增加一个动态参数a,参数值为公式if($a==1,0,1),如下图:

2、排序设置

排序设置有两种设置方式,高级排序和扩展后排序,下面分别介绍着两种方式的设置方式。
(1)高级排序
双击A2单元格,选择高级,在排序顺序处选择升序,公式值为if($a==1,$,?$),如下图:
图片描述

注:公式的意义是,如果动态参数值为1,那么就将订单ID按照订单ID升序排序,如果不为1,就按照订单ID的负数进行升序排序,即按照订单ID进行降序排序,由于只有数值型数据才有负数,字符型数据没有负数,故该方法只适用于数值型字段排序。
另:如果是将订单ID按照运货费进行升序降序排序,那么公式应为:if($a==1,运货费,-运货费),由于此处排序是设置数据列的排序,则公式中输入的是数据列的名称。

(2)扩展后排序
选中A2单元格,在单元格属性表>扩展属性中的扩展后选择升序,值为公式=if($a==1,A2,-A2),如下图:
图片描述
注:公式意义同上,此处是根据单元格进行排序,所以公式中输入的是单元格,不是数据列名字。
另:如果需要将订单ID按照运货费进行升序降序排序,那么公式应为:if($a==1,F2,-F2)
3、效果查看
不论是根据高级排序设置,还是扩展后排序设置,设置的效果如下:

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/65476.html

相关文章

  • FineReport实现根据点击次数奇偶排序方法

    摘要:扩展后排序选中单元格,在单元格属性表扩展属性中的扩展后选择升序,值为公式,如下图图片描述注公式意义同上,此处是根据单元格进行排序,所以公式中输入的是单元格,不是数据列名字。 使用FineReport报表软在进行排序的时,很多时候您可能想实现根据点击的次数进行升降序排序,也就是说点击第一次点击标题升序排序,再次点击就降序,以此类推,而不是通过选择升序进行升序排列,选择降序进行降序排列。由...

    BingqiChen 评论0 收藏0
  • FineReport中JS如何自定义按钮导出

    FineReport支持多种不同的导出方式,直接使用FineReport内置导出按钮可以非常快捷方便的来对各种格式的输出,但是我们在web页面集成中的时候,往往只想将报表内容嵌入到iframe中,而工具栏以及工具栏上的按钮都会隐藏掉,而使用web页面自定义的按钮,那么,此时,这种自定义按钮如何实现导出呢? showImg(https://segmentfault.com/img/bVJR1H?w=...

    wujl596 评论0 收藏0
  • FineReport中如何制作树数据集来实现组织树报表

    摘要:问题描述,组织树报表中由与父来实现组织树报表,若层级数较多时,对每个单元格设置过滤条件和形态会比较繁琐,因此提供了一种特殊的数据集树数据集,只需要简单的设置就能自动递归出层级,方便的实现如下图组织树报表图一图二构建树新建报表,添加数据集新建 问题描述FineReport,组织树报表中由id与父id来实现组织树报表,若层级数较多时,对每个单元格设置过滤条件和形态会比较繁琐,因此FineR...

    vvpale 评论0 收藏0

发表评论

0条评论

JouyPub

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<