Java软件报表软件技术博客

java报表软件技术汇总 java报表软件制作 报表软件新闻
posts - 355, comments - 100, trackbacks - 0, articles - 3
   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理

参数控件触发事件

参数控件的取值与置数

参数界面中,最常见的就是获取参数的值进行运算或者将其作为另一个参数的判断依据,在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,如下图

 

1.3 参数设计

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

 

 

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

 

 

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

  

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,如图所示

 

 

2.  保存并预览

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

 

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

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

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




评论

# re: FineReport报表工具内置JS的使用之三  回复  更多评论   

2010-09-03 13:40 by xiaohonghong27
不错,不错!

# re: FineReport报表工具内置JS的使用之三  回复  更多评论   

2010-09-03 18:33 by 郭嘉
支持

# re: FineReport报表工具内置JS的使用之三  回复  更多评论   

2010-09-03 21:39 by 小乔
支持

只有注册用户登录后才能发表评论。


网站导航: