隨筆 - 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 閱讀(336) 評論(0)  編輯  收藏 所屬分類: Java報表—技術知識
          主站蜘蛛池模板: 大同市| 桐乡市| 浪卡子县| 绥化市| 普定县| 二连浩特市| 宾川县| 黑山县| 甘肃省| 台山市| 承德市| 泰安市| 博湖县| 鹤庆县| 东城区| 霍林郭勒市| 辽阳市| 临西县| 铁岭县| 涿州市| 临洮县| 三亚市| 琼结县| 九龙坡区| 马尔康县| 惠来县| 寿光市| 七台河市| 海兴县| 安岳县| 阿巴嘎旗| 江山市| 交口县| 泸溪县| 盐山县| 苍梧县| 华亭县| 高安市| 天门市| 汽车| 永吉县|