根据点击次数奇偶性排序之数值型

编辑
  • 文档创建者:印然
  • 浏览次数:9751次
  • 编辑次数:13次
  • 最近更新:liboyu420949524 于 2019-12-04
  • 1. 描述

    在进行排序的时,很多时候您可能想实现根据点击的次数进行升降序排序,也就是说点击第一次点击标题升序排序,再次点击就降序,以此类推,而不是通过选择升序进行升序排列,选择降序进行降序排列。


    2. 思路

    由 扩展后排序 可知,可以根据参数值的不同来决定升序还是降序,这里也可以此思路进行实现,定义一个参数,如果参数值为 1 的时候,就升序,参数值为 0 的时候,按照数据列的负数进行升序排序,即数据列降序。

    注:该方法只适用于排序数据列数据类型为数字型的字段,如果数据类型为字符型,请查看根据 点击次数奇偶性排序之字符型

    下面以两个简单示例进行介绍:示例一,模板根据订单ID进行升序降序排列,第一次点击订单ID的时候升序,再次点击时降序;示例二,同理,模板根据货运费进行升序降序排列,第一次点击货运费的时候升序。

    注:不管是按照什么字段进行排序,必须要把排序公式写在其父格的单元格设置里。


    3. 示例一

    3.1 打开模板

    打开模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\Details.cpt


    3.2 超级链接设置

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

    222

    注:公式的含义是,如果参数 a 的值为 1 的时候,点击该超级链接,则将 a 的值变为 0,如果a的值不为 1 的时候,点击该超级链接,将 a 的值变为 1。


    3.3 排序设置

    排序设置有两种设置方式,高级排序 和 扩展后排序,下面分别介绍着两种方式的设置方式。

    1)方法一:高级排序

    双击 A2 单元格,选择高级,在排序顺序处选择升序,公式值为if($a==1,$$$,-$$$),如下图:

    222

    注:公式的意义是,如果动态参数值为 1,那么就将订单 ID 按照订单 ID 升序排序,如果不为 1,就按照订单 ID 的负数进行升序排序,即按照订单 ID 进行降序排序,由于只有数值型数据才有负数,字符型数据没有负数,故该方法只适用于数值型字段排序。

    2)方法二:扩展后排序

    选中 A2 单元格,右击单元格>扩展属性中的扩展后选择升序,值为公式=if($a==1,A2,-A2),如下图:

    222

    注:公式意义同上,此处是根据单元格进行排序,所以公式中输入的是单元格,不是数据列名字。


    3.4 效果查看

    不论是根据高级排序设置,还是扩展后排序设置,设置的效果如下:

    222

    222

    已完成模板请参照%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\Order_4.cpt

    在线查看示例效果请点击 Order_4.cpt


    4. 示例二

    4.1 打开模板

    打开模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\Details.cpt


    4.2 超级链接设置

    按照运货费进行排序:选中 F1 单元格,右键选择超级链接,添加一个动态参数,增加一个动态参数 a,参数值为公式if($a = 1, 0, 1),如下图:

    222

    注:公式的含义是,如果参数 a 的值为 1 的时候,点击该超级链接,则将 a 的值变为 0,如果a的值不为 1 的时候,点击该超级链接,将 a 的值变为 1。


    4.3 排序设置

    排序设置有两种设置方式,高级排序 和 扩展后排序,下面分别介绍着两种方式的设置方式。

    1)方法一:高级排序

    双击 A2 单元格,选择高级,在排序顺序处选择升序,公式值为if($a==1,$运货费,-$运货费),如下图:

    222

    另:由于此处排序是设置数据列的排序,则公式中输入的是数据列的名称。

    警告:这里要注意,不管是按照什么字段进行排序,必须要把排序公式写在其父格的单元格设置里。如:要按照货运费进行排序,该字段的父格是订单 ID,则需要双击订单 ID 来进行高级->排列顺序的设置 ,这样才会实现效果,若在各自的单元格上设置是不能实现效果的。

    2)方法二:扩展后排序

    选中 A2 单元格,右击单元格>扩展属性中的扩展后选择升序,值为公式=if($a==1,F2,-F2),如下图:

    222


    4.4 效果查看

    不论是根据高级排序设置,还是扩展后排序设置,设置的效果如下:

    222

    222


    附件列表


    主题: 设计思路
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201