JS实现点击参数面板按钮显示或隐藏数据

  • 文档创建者:cherishdqy
  • 编辑次数:10次
  • 最近更新:Kevin-s 于 2019-11-19
  • 1. 概述

    1.1 问题描述

    当报表中列表数据太多时,想通过显示按钮隐藏明细数据只显示统计数据。如下图示例,该如何实现?

    222


    1.2 实现思路

    通过 JavaScript 修改参数控件的值,在条件属性中,根据参数值显示或隐藏相应的行。

    2. 示例

    2.1 打开模板

    1)打开报表%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\GroupReport\Group_2.cpt。

    2)在参数面板添加一个标签控件,控件名为label,设置标签控件不可见,控件值为显示

    image.png

    3)在参数面板添加一个按钮控件,控件名为 button,控件值为“只显示合计数据”。

    image.png

    4)选择 button 控件,添加点击事件,如下图所示:

    image.png

    JavaScript 代码如下:


    /*获取隐藏的标签控件的值*/
    var label= this.options.form.getWidgetByName("label").getValue();
    /*判断标签控件的值*/
    if(label=='显示')
    {
    /*当标签控件的值为显示时,则改为隐藏,并修改按钮名称为显示所有数据*/
    this.options.form.getWidgetByName("label").setValue("隐藏");
    this.options.form.getWidgetByName("button").setValue("显示所有数据");
    }
    else
    {
    /*当标签控件的值不为显示时,则改为显示,并修改按钮名称为只显示合计数据*/
    this.options.form.getWidgetByName("label").setValue("显示");        
    this.options.form.getWidgetByName("button").setValue("只显示合计数据");
    }
    /*执行查询*/
    _g().parameterCommit();

    5)点击参数面板空白处,将点击查询前不显示报表内容属性的勾去掉。

    image.png

    6)回到报表设计界面,右键B3单元格,添加条件属性,设置行高为 0 毫米,点击公式,添加公式条件为$label = '隐藏'

    image.png
    7)保存模板,点击分页预览即可看到上图的效果。


    2.2 预览效果

    保存模板,点击分页预览,PC 端效果如下所示:

    222

    注:不支持移动端。


    3. 模板下载

    模板效果在线查看请点击:JS 实现点击参数面板按钮显示或隐藏数据.cpt

    已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\参数界面JS实例\10-JS实现点击参数面板按钮显示或隐藏数据.cpt

    点击下载模板:10-JS实现点击参数面板按钮显示或隐藏数据.cpt


    附件列表


    主题: 二次开发
    • 有帮助
    • 没帮助
    • 只是浏览