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

 参数校验-日期校验

在使用FineReport报表软件时,内置参数查询界面当中可进行一些数据校验,例如有两个参数:开始时间和结束时间,结束时间必须在开始时间之后,否则进行提示。

1.  在提交按钮的事件编辑中写JS代码

1.1 新建报表

1.2 模板设计

按照下图设计模板

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

1.3 添加数据源

        新建一个名为ds1的数据库查询,SQL语句:SELECT * FROM EMPLOYEE

    1.4 绑定数据列

按照下表进行数据列绑定

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

双击B5单元格,在过滤页面当中,定义条件类型为单元格 ,添加条件: BIRTHDATE 大于或等于 $begintime AND BIRTHDATE 小于 $endtime

1.5 定义参数

打开菜单栏中报表|报表参数,新定义两个个名为begintime,endtime的参数,如图    

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

1.6 参数设计

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

                    

l  日期控件设置

右击begintime的控件,选择控件设置,控件类型选择日期,控件名选择begintime,具体设置如下图所示

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

endtime的控件同上

1.7 数据校验

右击查询按钮,选择控件设置,打开控件设置面板,添加点击事件,如下图所示

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

        function fun(){}函数中写入如下JS语句:

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

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

      if( start == ""){

          alert("错误,开始时间不能为空");

          return false;

};

      if(end == ""){

          alert("错误,结束时间不能为空");

      return false;

};

      if( start > end){

          alert("错误,开始时间不能大于结束时间");

          return false;

} 

1.8 保存并预览

       begintime输入为空,如下图所示

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

endtime输入为空,如下图所示

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

输入的endtimebegintime之前,校验如下图所示:

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

2.  在参数控件的事件编辑中写JS代码

2.1 设计模板

具体操作同上。

2.2 数据校验

l  右击begintime的控件,选择控件设置,添加编辑后事件,如下图所示:

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

        function fun(){}函数中写入如下JS语句:

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

        if( start == ""){

            alert("错误,开始时间不能为空");

            return false;

        };

        说明:这段代码是为了验证begintime输入不能为空。

l  右击endtime的控件,选择控件设置,添加编辑后事件,如下图所示

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

        function fun(){}函数中写入如下Js语句:

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

        if(end == ""){

             alert("错误,结束时间不能为空");

        return false;

};

        if( start > end){

            alert("错误,开始时间不能大于结束时间");

        return false;

}

        说明:这段代码是为了校验endtime输入不能为空以及结束时间大于开始时间。

2.3 保存并预览

        效果与在提交按钮的事件编辑中写JS代码一样

  文章转自: http://ajavareport.cn/archives/444



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

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