应用场景
在用FineReport制作的报表中,在參数界面。往往须要在一个控件中动态的控制其它控件的值,例如以下图。当username有值时。state自己主动变为1。否则变为2::
解决方式
能够通过js脚本获取到须要的控件,从而获得控件的值,及给控件赋值。
演示样例
我们利用FineReport制作一个简单的样例实现上图效果。
1、參数界面
例如以下图參数界面
username控件类型为下拉框,数据自己定义。实际值和显示值都为:jerny,anna。merry。
state控件类型选择单选button组,数据也为自己定义。实际值和显示值都为:1。2。
2 、JS事件设置
在username的事件编辑中加入编辑后事件。JS代码例如以下:
1. var state= this.options.form.getWidgetByName("state");
2. var username = this.options.form.getWidgetByName("username").getValue();
3. if (!username){
4. state.setValue(2);
5. }else{
6. state.setValue(1);
7. }
该段代码是用来对state參数置数,当username为空时。!username为真,此时将state置数为2,否则当username有值时。将state置数为1。