Chinaunix首页 | 论坛 | 博客
  • 博客访问: 201497
  • 博文数量: 97
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1024
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-03 09:03
文章分类
文章存档

2017年(17)

2016年(54)

2015年(25)

2014年(1)

我的朋友

分类: Web开发

2017-03-08 10:25:34

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


 

打开报表

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


 

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


 

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


点击(此处)折叠或打开

  1. /*获取隐藏的标签控件的值*/
  2. var label= this.options.form.getWidgetByName("label").getValue();

  3. /*判断标签控件的值*/
  4. if(label=='显示')
  5. {
  6.     /*当标签控件的值为显示时,则改为隐藏,并修改按钮名称为显示所有数据*/
  7.     this.options.form.getWidgetByName("label").setValue("隐藏");
  8.     this.options.form.getWidgetByName("button").setValue("显示所有数据");
  9. }
  10. else
  11. {
  12.     /*当标签控件的值不为显示时,则改为显示,并修改按钮名称为只显示合计数据*/
  13.     this.options.form.getWidgetByName("label").setValue("显示");
  14.     this.options.form.getWidgetByName("button").setValue("只显示合计数据");
  15. }

  16. /*执行查询*/
  17. _g().parameterCommit();

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


 

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


 

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

阅读(2868) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~