在报表参数中,可通过添加参数控件的编辑后事件来实现用一个参数控制另一个参数。以下例子是用参数username来对state置数,username为下拉框自定义的几个名字,state为单选按钮,1和2。当username有值时,取state的状态,要是2,则置为1,若为1,则不变;当没有值时,取state的状态,要是2,则不变,若为1,则置为2。
1. 连接数据库FRDemo
2. 设计模板
2.1 新建报表
2.2 定义参数
2.3 参数设计
打开参数设计界面,按照下图安排参数的位置
2.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);
}
1. 保存并预览
注意,state无法通过username置数为,Js里面,state为0,默认返回false
以上例子是获得控件的实际值。
通过该控件取该控件的显示值方法是arguments[0],
通过该控件取另一个控件的值方法是
this.options.form.getWidgetByName(“所要获得显示值的控件名”).options.items [i].text
另外,一个控件无法对另一个控件的显示值置数。
联系客服