Java軟件報(bào)表軟件技術(shù)博客

          java報(bào)表軟件技術(shù)匯總 java報(bào)表軟件制作 報(bào)表軟件新聞
          posts - 355, comments - 100, trackbacks - 0, articles - 3
             :: 首頁(yè) :: 新隨筆 ::  :: 聚合  :: 管理
           

          Java報(bào)表軟件中,選擇特定的參數(shù)后,會(huì)返回我們要查詢的數(shù)據(jù),然而假如沒(méi)有輸入?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ù)庫(kù)查詢,SQL語(yǔ)句

          SELECT * FROM StScore WHERE 1=1

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

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

          說(shuō)明:

          ?         where 1=1表示條件永真,防止沒(méi)有之后的參數(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 打開(kāi)參數(shù)設(shè)計(jì)界面,按照下圖安排參數(shù)的位置

           
              
          1.3.2 控件設(shè)置

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


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


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

          1.4 保存并預(yù)覽

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

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

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

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

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

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

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

           
          2.4 添加過(guò)濾

          選中A2單元格,添加過(guò)濾條件


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

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

          同步驟1.3

          2.6 保存并預(yù)覽


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



          主站蜘蛛池模板: 政和县| 运城市| 馆陶县| 安吉县| 深圳市| 土默特左旗| 神池县| 信阳市| 天水市| 长子县| 苏尼特左旗| 漳浦县| 十堰市| 大冶市| 乌兰浩特市| 绥宁县| 葫芦岛市| 穆棱市| 永寿县| 亚东县| 获嘉县| 肇州县| 阿合奇县| 五华县| 壶关县| 威信县| 邵武市| 和静县| 永吉县| 大渡口区| 晋江市| 新化县| 右玉县| 会昌县| 河东区| 西藏| 准格尔旗| 光泽县| 福建省| 嘉祥县| 应城市|