Java报表软件内置JS的使用之三

参数控件触发事件

参数控件的取值与置数

参数界面中,最常见的就是获取参数的值进行运算或者将其作为另一个参数的判断依据,在FineReport报表软件网页脚本中,也提供了获取参数控件实际值,显示值并给参数置数的方法。

//取当前控件的实际值

var [ParaValue] = this.getValue();

//通过参数控件名称来获取参数控件实际值

var [ParaValue] = this.options.form.getWidgetByName("[ParaName]").getValue();

//通过arguments[i]获取当前参数控件显示值

var [DisplayedValue] = arguments[0];

//通过控件A获取控件B的显示值

var [DisplayedValue] = this.options.form.getWidgetByName("[ParaName]").options.items[0].text;

//获取某个参数控件,并给其置数(实际值)

var [Para] = this.options.form.getWidgetByName("[ParaName]");

[Para].setValue([Value]);

实例:

该实例通过添加参数控件的编辑后事件来实现用一个参数控制另一个参数,如用参数username来对state置数,username为下拉框自定义的几个用户名,state为单选按钮组表示状态12。当username有值时,state的状态置为1否则置为2

1.  模板设计

1.1 新建报表

1.2 定义参数

在菜单栏中选择报表|报表参数,打开参数定义面板,定义参数stateusername,如下图

Java报表软件内置JS的使用之三_第1张图片 

1.3 参数设计

打开参数设计界面,参数控件布局如下

 

 

l  username控件类型为下拉框,数据自定义,如图

Java报表软件内置JS的使用之三_第2张图片 

 

l  state控件类型选择单选按钮组,数据也为自定义,如图

Java报表软件内置JS的使用之三_第3张图片   

1.4 添加事件

username的事件编辑中添加编辑后事件,JS代码如下

var state= this.options.form.getWidgetByName("state");

var username = this.options.form.getWidgetByName("username").getValue();

if (!username){

    state.setValue(2);

}else{

    state.setValue(1);

}

该段代码是用来对state参数置数,当username为空时,!username为真,此时将state置数为2,否则当username有值时,将state置数为1,如图所示

Java报表软件内置JS的使用之三_第4张图片 

 

2.  保存并预览

点击设计器分页预览,当username有值时,state置为1

Java报表软件内置JS的使用之三_第5张图片 

注意:state无法通过username置数为0JS里面,state0,默认返回false

且一个控件无法对另一个控件的显示值进行置数

文章转自: http://reportblog.cn/archives/927



欲了解更多中式java报表软件?请点击

你可能感兴趣的:(Java报表软件内置JS的使用之三)