Java軟件報表軟件技術博客

          java報表軟件技術匯總 java報表軟件制作 報表軟件新聞
          posts - 355, comments - 100, trackbacks - 0, articles - 3
             :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理
           參數校驗-日期校驗

          在使用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("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輸入為空,如下圖所示

           

          endtime輸入為空,如下圖所示

          輸入的endtimebegintime之前,校驗如下圖所示:

          2.  在參數控件的事件編輯中寫JS代碼

          2.1 設計模板

          具體操作同上。

          2.2 數據校驗

          l  右擊begintime的控件,選擇控件設置,添加編輯后事件,如下圖所示:

                  function fun(){}函數中寫入如下JS語句:

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

                  if( start == ""){

                      alert("錯誤,開始時間不能為空");

                      return false;

                  };

                  說明:這段代碼是為了驗證begintime輸入不能為空。

          l  右擊endtime的控件,選擇控件設置,添加編輯后事件,如下圖所示

                  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




          評論

          # re: FineReport報表工具內置JS的使用之四  回復  更多評論   

          2010-09-03 13:48 by xiaohonghong27
          很不錯哦!
          主站蜘蛛池模板: 江门市| 瑞昌市| 肃南| 肇源县| 靖西县| 沁阳市| 如皋市| 清镇市| 奉化市| 常熟市| 沙洋县| 韶山市| 鄂州市| 福建省| 赣榆县| 石城县| 巴彦淖尔市| 定结县| 鄂州市| 双城市| 弥勒县| 应城市| 徐水县| 徐闻县| 黄骅市| 延长县| 江源县| 凤庆县| 江阴市| 堆龙德庆县| 吉木萨尔县| 自贡市| 呼图壁县| 莒南县| 敦煌市| 左权县| 桦甸市| 福安市| 宁德市| 龙海市| 桦川县|