zoukankan      html  css  js  c++  java
  • 帆软报表(finereport)JS实现点击参数面板按钮显示或隐藏数据

    当报表中列出数据太多时,想通过显示按钮隐藏明细数据只显示统计数据。如下图示例,那么该如何实现呢?本文以FineReport为例,来讲述JS如何实现点击参数面板按钮显示或隐藏数据。

    打开报表

    在参数面板添加一个标签控件,控件名为lable,设置标签控件不可见,控件值为“显示”。

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

    编辑点击事件,添加下面的JavaScript代码:

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    /*获取隐藏的标签控件的值*/
    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();

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

     

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

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

  • 相关阅读:
    uniapp判断token多次登录问题
    vue强制刷新子组件到初始状态
    时间戳转化时间过滤器
    axios二次封装具有请求/响应拦截的http请求
    vue常见的工具函数
    解决npm i 初始化,core-js报错
    node环境变量配置
    scss基本使用
    Vue element-ui父组件控制子组件的表单校验
    antd-Calendar(日历)自动嵌入对应时间问题
  • 原文地址:https://www.cnblogs.com/Williamls/p/10824055.html
Copyright © 2011-2022 走看看