FineReport报表工具内置JS的使用之四(日期校验)

更新时间:2023-10-19 12:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

FineReport报表工具内置JS的使用之四 (日期校验)

在使用FineReport报表工具时,内置参数查询界面当中可进行一些数据校验,例如有两个参数:开始时间和结束时间,结束时间必须在开始时间之后,否则进行提示。 1. 在提交按钮的事件编辑中写JS代码 1.1 新建报表 1.2 模板设计 按照下图设计模板

1.3 添加数据源

新建一个名为ds1的数据库查询,SQL语句:_select* FROM EMPLOYEE 1.4 绑定数据列 按照下表进行数据列绑定

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

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

1.6 参数设计

l 打开参数设计界面,参数界面布局如下: l 日期控件设置

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

endtime的控件同上 1.7 数据校验

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

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

this.options.form.getWidgetByName(\ var end =

this.options.form.getWidgetByName(\ if( start == \

alert(\错误,开始时间不能为空\ return false;

};

if(end == \

alert(\错误,结束时间不能为空\ return false; };

if( start > end){

alert(\错误,开始时间不能大于结束时间\ return false; }

1.8 保存并预览

begintime输入为空,如下图所示:

endtime输入为空,如下图所示:

输入的endtime在begintime之前,校验如下图所示:

2. 在参数控件的事件编辑中写JS代码 2.1 设计模板 具体操作同上。 2.2 数据校验

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

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

this.options.form.getWidgetByName(\ if( start == \

alert(\错误,开始时间不能为空\ return false; };

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

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

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

this.options.form.getWidgetByName(\ if(end == \

alert(\错误,结束时间不能为空\ return false; };

if( start > end){

alert(\错误,开始时间不能大于结束时间\

return false; }

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

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

本文来源:https://www.bwwdw.com/article/u3of.html

Top