分享

FineReport报表工具参数控件取值与置数

 桑子Y 2010-11-01

在报表参数中,可通过添加参数控件的编辑后事件来实现用一个参数控制另一个参数。以下例子是用参数username来对state置数,username为下拉框自定义的几个名字,state为单选按钮,12。当username有值时,取state的状态,要是2,则置为1,若为1,则不变;当没有值时,取state的状态,要是2,则不变,若为1,则置为2

1.  连接数据库FRDemo

2.  设计模板

2.1 新建报表

2.2 定义参数

在菜单栏中选择报表|报表参数,打开参数定义面板,添加两个参数stateusername,默认值选择字符串形式,如下图

2.3 参数设计

打开参数设计界面,按照下图安排参数的位置

l  state控件类型选择单选按钮组,数据为自定义的12,如图
l  username控件类型为下拉框,数据也为自定义的几个数据,如图

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);

}

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

1.  保存并预览

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

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

    以上例子是获得控件的实际值。

    通过该控件取该控件的显示值方法是arguments[0],

通过该控件取另一个控件的值方法是

    this.options.form.getWidgetByName(“所要获得显示值的控件名”).options.items [i].text

    另外,一个控件无法对另一个控件的显示值置数。

 
 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多