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

          隨筆分類

          相冊

          報(bào)表工具廠商們

          搜索

          •  

          最新評論

          閱讀排行榜

           

          Java報(bào)表工具中,選擇特定的參數(shù)后,會(huì)返回我們要查詢的數(shù)據(jù),然而假如沒有輸入?yún)?shù)值,我們卻仍需要返回?cái)?shù)據(jù)時(shí)該怎樣處理呢?以下就用FineReport報(bào)表工具的一個(gè)例子實(shí)現(xiàn)這種參數(shù)為空時(shí)返回所有數(shù)據(jù)的效果,介紹數(shù)據(jù)源參數(shù)與報(bào)表參數(shù)的實(shí)現(xiàn)方法。

          1.數(shù)據(jù)源參數(shù)實(shí)現(xiàn)參數(shù)為空選出全部

          1.1 定義數(shù)據(jù)源

          新建名為ds1的數(shù)據(jù)庫查詢,SQL語句

          SELECT * FROM StScore WHERE 1=1

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

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

          說明:

          ?         where 1=1表示條件永真,防止沒有之后的參數(shù)條件時(shí),where多出而導(dǎo)致出錯(cuò);

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

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

          1.2 模板設(shè)計(jì)

          報(bào)表制作模板定義如下


          綁定數(shù)據(jù)列


             1.3
          參數(shù)設(shè)計(jì)界面

          1.3.1 打開參數(shù)設(shè)計(jì)界面,按照下圖安排參數(shù)的位置

           
              
          1.3.2 控件設(shè)置

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


          定義參數(shù)studentno控件類型為下拉框,并以classno的值進(jìn)行關(guān)聯(lián)查詢,定義如下


          說明:動(dòng)態(tài)SQL語句SELECT * FROM STSCORE where ClassNo = '${classno}'表示直接從數(shù)據(jù)表STSCORE選取符合參數(shù)classno的數(shù)據(jù)

          1.4 保存并預(yù)覽

          點(diǎn)擊設(shè)計(jì)器上的分頁預(yù)覽,頁面如下圖,不輸入?yún)?shù)值,直接點(diǎn)擊查詢按鈕,返回全部數(shù)據(jù):

           
          2.報(bào)表參數(shù)實(shí)現(xiàn)參數(shù)為空選出全部

          2.1 定義數(shù)據(jù)源

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

          2.2 模板設(shè)計(jì)、綁定數(shù)據(jù)列,步驟與1.4中完全相同,此處不用贅述

          2.3 定義報(bào)表參數(shù)

          在菜單欄選擇報(bào)表|報(bào)表參數(shù),打開報(bào)表參數(shù)面板,添加classnostudentno兩個(gè)參數(shù),默認(rèn)值選擇字符串形式,并留空,即表示默認(rèn)值為空值,如下圖

           
          2.4 添加過濾

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


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

          2.5 參數(shù)設(shè)計(jì)界面

          同步驟1.3

          2.6 保存并預(yù)覽


          文章轉(zhuǎn)自:http://blog.vsharing.com/fanfanzheng/A1303633.html



          了解Java報(bào)表工具就從這里開始
          posted on 2011-01-02 09:34 season 閱讀(342) 評論(0)  編輯  收藏 所屬分類: Java報(bào)表—技術(shù)知識(shí)
          主站蜘蛛池模板: 永嘉县| 毕节市| 三都| 嘉定区| 二连浩特市| 珲春市| 石柱| 钟山县| 延寿县| 垦利县| 洪雅县| 乐都县| 呼图壁县| 赣榆县| 襄城县| 华容县| 鹤壁市| 桂平市| 蕉岭县| 山东省| 三亚市| 新邵县| 鸡东县| 五寨县| 迭部县| 广元市| 灌云县| 凉山| 秭归县| 镇沅| 清新县| 积石山| 南澳县| 镇赉县| 丘北县| 中西区| 鸡西市| 新余市| 弥勒县| 扶风县| 东乡族自治县|