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
          很不錯哦!
          主站蜘蛛池模板: 洛阳市| 武功县| 怀化市| 黔江区| 淄博市| 盐津县| 东港市| 康乐县| 金昌市| 桓台县| 偃师市| 陆良县| 旬阳县| 霍城县| 永安市| 温州市| 罗甸县| 西安市| 库车县| 名山县| 濉溪县| 东至县| 平谷区| 洛扎县| 津市市| 和平区| 临沂市| 深泽县| 兴国县| 凤庆县| 邢台县| 潍坊市| 玉溪市| 许昌市| 武川县| 永定县| 宝丰县| 武陟县| 乐平市| 齐齐哈尔市| 商洛市|