多语言展示
当前在线:1231今日阅读:168今日分享:49

使用企业报表时如何动态显示参数控件

由于业务的需要,很多情况下需要当满足某个条件时,某些查询条件才显示出来:选择年报,显示年的下拉框控件,如图所示:下面我们就通过企业报表FineReport来向大家介绍。
工具/原料
1

企业报表FineReport7.1.1

2

大小:148.2M 适用平台:windows/linux

方法/步骤
1

打开模板

2

修改数据集将数据集修改为:SELECT * FROM 订单 where 1=1 ${if(type=='日报','and date(订购日期) = '' + date + ''',if(type=='月报','and strftime('%m',订单.订购日期) = '+ month + ' and strftime('%Y',订单.订购日期) = ' + year ,'and strftime('%Y',订单.订购日期) = ' + year ))}给参数type设置默认值为日报,参数date设置默认值的类型为字符串型值为2010-01-03。

3

表样修改将表样修改成如下样式:给A3设置形态,自定义数据,实际值与对应的显示值分别为:日报,日期;月报,年月;年报,年份。在B3单元格中增加如下公式:=if(type=='日报',$date,if(type=='月报',$year+'.'+$month,$year))

5

动态显示参数控件JS事件设置给参数type的下拉框控件增加编辑后事件,具体的JS代码如下:点击参数type的下拉框控件,在属性表的下方选择事件面板,点击增加编辑后事件,具体的js如下:var form = this.options.form;var p2Widget = form.getWidgetByName('date');var p3Widget = form.getWidgetByName('year');var p4Widget = form.getWidgetByName('month');var value = this.getValue();  //获取当前参数即type参数的值if (value == '日报') {          p2Widget.visible();   p3Widget.invisible();   p4Widget.invisible();} else if (value == '月报') {   p2Widget.invisible();   p3Widget.visible();   p4Widget.visible();} else if(value == '年报'){   p2Widget.invisible();   p3Widget.visible();   p4Widget.invisible();}else {   p2Widget.invisible();   p3Widget.invisible();   p4Widget.invisible();}注:此段代码判断type参数的值,若是日报,则只显示date控件,若是月报,则显示year和month控件,若是年报,则只显示year控件。

6

保存模板点击分页预览,效果如上图。

推荐信息