內(nèi)置參數(shù)查詢界面當(dāng)中可進(jìn)行一些數(shù)據(jù)校驗(yàn),以FineReport報(bào)表工具為例,有兩個(gè)參數(shù):開始時(shí)間和結(jié)束時(shí)間,結(jié)束時(shí)間必須在開始時(shí)間之后,否則進(jìn)行提示。尹恩惠百變發(fā)型美艷登場(chǎng)
完成這個(gè)工作可以有兩種實(shí)現(xiàn)方法,一種是在提交按鈕的事件編輯中寫js代碼,另一種則是在參數(shù)控件的事件編輯中寫js代碼。
這里我們先使用第一種方法,第二種將在之后的文章中進(jìn)行介紹。
1.1 新建報(bào)表
1.2 制作報(bào)表模板
按照下圖設(shè)計(jì)模板
1.3 添加數(shù)據(jù)源
新建一個(gè)名為ds1的數(shù)據(jù)庫查詢,SQL語句:SELECT * FROM EMPLOYEE
1.4 綁定數(shù)據(jù)列
按照下表進(jìn)行數(shù)據(jù)列綁定
雙擊B5單元格,在過濾頁面當(dāng)中,添加條件:
BIRTHDATE 大于或等于 $begintime AND BIRTHDATE 小于 $endtime
1.5 定義參數(shù)
打開菜單欄中報(bào)表|報(bào)表參數(shù),新定義兩個(gè)名為begintime,endtime的參數(shù),如
1.6 參數(shù)設(shè)計(jì)
l 打開報(bào)表參數(shù)設(shè)計(jì)界面,參數(shù)界面布局如下
l 日期控件設(shè)置
右擊begintime的控件,選擇控件設(shè)置,控件類型選擇日期,控件名選擇begintime,具體設(shè)置如下圖所示
endtime的控件同上
1.7 數(shù)據(jù)校驗(yàn)
右擊查詢按鈕,選擇控件設(shè)置,打開控件設(shè)置面板,添加點(diǎn)擊事件,如下圖所示
在function fun(){}函數(shù)中寫入如下JS語句:
var start = this.options.form.getWidgetByName(“begintime”).getValue();
var end = this.options.form.getWidgetByName(“endtime”).getValue();
if( start == “”){
alert(“錯(cuò)誤,開始時(shí)間不能為空”);
return false;
};
if(end == “”){
alert(“錯(cuò)誤,結(jié)束時(shí)間不能為空”);
return false;
};
if( start > end){
alert(“錯(cuò)誤,開始時(shí)間不能大于結(jié)束時(shí)間”);
return false;
}
1.8 保存并預(yù)覽
begintime輸入為空,如下圖所示
endtime輸入為空,如下圖所示
輸入的endtime在begintime之前,校驗(yàn)如下圖所示: