隨筆 - 225  文章 - 98  trackbacks - 0
          <2011年1月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          隨筆分類

          相冊

          報表工具廠商們

          搜索

          •  

          最新評論

          閱讀排行榜

           

          Java報表工具中,選擇特定的參數后,會返回我們要查詢的數據,然而假如沒有輸入參數值,我們卻仍需要返回數據時該怎樣處理呢?以下就用FineReport報表工具的一個例子實現這種參數為空時返回所有數據的效果,介紹數據源參數與報表參數的實現方法。

          1.數據源參數實現參數為空選出全部

          1.1 定義數據源

          新建名為ds1的數據庫查詢,SQL語句

          SELECT * FROM StScore WHERE 1=1

          ${if(len(classno) == 0,""," and ClassNo = '" + classno + "'")}

          ${if(len(studentno)==0,""," and StudentNo = " + studentno )}

          說明:

          ?         where 1=1表示條件永真,防止沒有之后的參數條件時,where多出而導致出錯;

          ?         len(classno) == 0表示參數為空;

          ?         ${if(len(classno) == 0,""," and CLASSNO = '" + classno + "'")}表示當參數classno為空時,就返回空字符串,否則返回查詢條件and CLASSNO = ' classno' 。

          1.2 模板設計

          報表制作模板定義如下


          綁定數據列


             1.3
          參數設計界面

          1.3.1 打開參數設計界面,按照下圖安排參數的位置

           
              
          1.3.2 控件設置

          定義參數classno控件類型為下拉框,其他定義如下圖


          定義參數studentno控件類型為下拉框,并以classno的值進行關聯查詢,定義如下


          說明:動態SQL語句SELECT * FROM STSCORE where ClassNo = '${classno}'表示直接從數據表STSCORE選取符合參數classno的數據

          1.4 保存并預覽

          點擊設計器上的分頁預覽,頁面如下圖,不輸入參數值,直接點擊查詢按鈕,返回全部數據:

           
          2.報表參數實現參數為空選出全部

          2.1 定義數據源

          新建名為ds1的數據庫查詢,SQL語句:SELECT * FROM StScore

          2.2 模板設計、綁定數據列,步驟與1.4中完全相同,此處不用贅述

          2.3 定義報表參數

          在菜單欄選擇報表|報表參數,打開報表參數面板,添加classnostudentno兩個參數,默認值選擇字符串形式,并留空,即表示默認值為空值,如下圖

           
          2.4 添加過濾

          選中A2單元格,添加過濾條件


          說明:其中if(len($classno)==0,nofilter,$classno)表示若參數classno為空,則不過濾,否則返回參數值。

          2.5 參數設計界面

          同步驟1.3。

          2.6 保存并預覽


          文章轉自:http://blog.vsharing.com/fanfanzheng/A1303633.html



          了解Java報表工具就從這里開始
          posted on 2011-01-02 09:34 season 閱讀(342) 評論(0)  編輯  收藏 所屬分類: Java報表—技術知識
          主站蜘蛛池模板: 牟定县| 繁昌县| 宝山区| 西和县| 文山县| 西乌珠穆沁旗| 肃宁县| 北流市| 苍梧县| 呼伦贝尔市| 鹤庆县| 保德县| 吉水县| 色达县| 新丰县| 平阴县| 莱州市| 莒南县| 平度市| 承德县| 穆棱市| 五寨县| 榕江县| 黄石市| 安达市| 红原县| 休宁县| 马关县| 福建省| 吉隆县| 响水县| 旬阳县| 祁门县| 阳朔县| 德格县| 两当县| 杂多县| 东乌| 宁国市| 政和县| 梁山县|