最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iReport使用指南及常見(jiàn)功能示例詳解

 更新時(shí)間:2021年10月26日 10:29:36   作者:GGdido  
這篇文章主要介紹了iReport使用指南及常見(jiàn)功能,本文以iReport 3.5.1為例,通過(guò)示例演示給大家介紹的非常詳細(xì),需要的朋友可以參考下

在使用ireport的過(guò)程中,因?yàn)楦鞣N功能都要百度,但是大家使用的例子又千差萬(wàn)別讓人很苦惱,所以用一個(gè)簡(jiǎn)單例子貫穿的展示一下ireport的常見(jiàn)功能。
我使用的是iReport 3.5.1,使用的示例數(shù)據(jù)表如圖:
sales表:(人名、大致結(jié)構(gòu)來(lái)自帆軟電子文檔,如有雷同,無(wú)意冒犯)

sales
具體數(shù)據(jù)

sellers表:

sellers
具體數(shù)據(jù)

下面開(kāi)始介紹:

報(bào)表結(jié)構(gòu)

這里寫(xiě)圖片描述

左邊是view區(qū),聯(lián)系著主設(shè)計(jì)區(qū)中的各個(gè)band區(qū)域的數(shù)據(jù),以及參數(shù)、變量等。中間是主設(shè)計(jì)區(qū),通過(guò)拖拽控件面板可以在此區(qū)域進(jìn)行設(shè)計(jì),有三種模式:設(shè)計(jì)(Designer)、源碼(Xml)、預(yù)覽(Preview),設(shè)計(jì)模式是可視的,源碼方式可以直接在上修改,預(yù)覽是對(duì)設(shè)計(jì)好的報(bào)表樣式進(jìn)行預(yù)覽,也是一個(gè)編譯的過(guò)程;右邊是控件面板和屬性面板,可以在此使用控件和設(shè)置屬性。
JasperReport有三個(gè)方式來(lái)保持?jǐn)?shù)據(jù):Field、Paramrter、Variables。
一般情況下,F(xiàn)ield是用作保存從數(shù)據(jù)源取出來(lái)的數(shù)據(jù),用法是

這里寫(xiě)圖片描述;

Parameter是用來(lái)占位—我們?cè)谠O(shè)計(jì)時(shí)往往不知道具體的值,那么用一個(gè)參數(shù)來(lái)占住它們的位置,在執(zhí)行時(shí),從程序或者數(shù)據(jù)庫(kù)中傳遞對(duì)應(yīng)的參數(shù)過(guò)來(lái),從而實(shí)現(xiàn)一個(gè)動(dòng)態(tài)的過(guò)程,用法是

這里寫(xiě)圖片描述

Variables是變量,可以將變量用于TextFild表達(dá)式中,也可以設(shè)置它的屬性,使它具有一些功能,如求和,求平均數(shù)等,用法是

這里寫(xiě)圖片描述

數(shù)據(jù)源

ireport提供很多種數(shù)據(jù)源的連接方式,
點(diǎn)上方的數(shù)據(jù)庫(kù)標(biāo)識(shí)就可以設(shè)置數(shù)據(jù)庫(kù),下方的數(shù)據(jù)標(biāo)識(shí)用來(lái)寫(xiě)SQL語(yǔ)句獲取數(shù)據(jù)。

這里寫(xiě)圖片描述

我們這里選擇jdbc數(shù)據(jù)連接,mysql連接語(yǔ)句,數(shù)據(jù)庫(kù)名稱是test

這里寫(xiě)圖片描述

test一下是否連通,輸入數(shù)據(jù)庫(kù)密碼以后,如果成功會(huì)出現(xiàn)提示:

這里寫(xiě)圖片描述

示例

3.1 簡(jiǎn)單示例

首先連接數(shù)據(jù)庫(kù)表sales:

這里寫(xiě)圖片描述

點(diǎn)擊ok,這時(shí)左側(cè)view窗口的field區(qū)域就得到了取到的數(shù)據(jù):

這里寫(xiě)圖片描述

這時(shí),在主設(shè)計(jì)區(qū)域拖拽靜態(tài)文本控件:

這里寫(xiě)圖片描述

在column header區(qū)域添加列名,然后拖動(dòng)左側(cè)的field字段到detail域相應(yīng)的列名下:

這里寫(xiě)圖片描述
這里寫(xiě)圖片描述

3.2 分組示例

有時(shí)候我們需要分組來(lái)觀察數(shù)據(jù),這時(shí)就需要group,我們以區(qū)域id來(lái)分組,需要注意的是,如果使用group分組,需要在一開(kāi)始的sql語(yǔ)句中加上order by語(yǔ)句,否則ireport是不會(huì)自動(dòng)分組的。

右鍵添加一個(gè)分組:

這里寫(xiě)圖片描述

接下來(lái)會(huì)有一個(gè)向?qū)?,我們根?jù)向?qū)б徊讲讲僮鳎?

這里寫(xiě)圖片描述

然后下一步,完成。

這里寫(xiě)圖片描述

3.3 子表方式分組查看

如果不想在sql語(yǔ)句中增加order by語(yǔ)句,那么可以使用子表的方式進(jìn)行分組查看,例如我想在父報(bào)表master.jasper中查看子報(bào)表sub_report.jasper的信息,需要用到銷(xiāo)售情況表sales和員工情況表sellers以及子報(bào)表控件和一個(gè)參數(shù) area_id。
首先建立子表員工信息表sub_report.jasper,新建一個(gè)參數(shù),作為連接兩個(gè)表的橋梁:area_id,參數(shù)的屬性設(shè)置如圖

這里寫(xiě)圖片描述

主要是要把parameter class設(shè)置成與數(shù)據(jù)庫(kù)表中同樣的類型以防出錯(cuò)。

然后為sub_report綁定數(shù)據(jù)庫(kù)表,此時(shí)需要注意SQL語(yǔ)句中需要包含我們?cè)O(shè)定的參數(shù) $P{area_id}

這里寫(xiě)圖片描述

接下來(lái),我們preview一下,這時(shí)需要給一個(gè)參數(shù)測(cè)試,假使我們給定1,結(jié)果如圖:

這里寫(xiě)圖片描述

這說(shuō)明分組已經(jīng)成功,我們下一步需要把子表與父表連接起來(lái)。
同樣需要新建一個(gè)報(bào)表文件master.jasper,為方便查看,將區(qū)域名稱拖入detail區(qū)域備用。

這里寫(xiě)圖片描述

拖拽子表控件,根據(jù)向?qū)瓿勺颖韺傩栽O(shè)置
(1)選擇已有子表,注意是選擇編譯后的文件,sub_report.jasper,而非sub_report.jrxml。如果先建父表,在這里選擇創(chuàng)建子表,按照向?qū)?chuàng)建子表,流程如上。

這里寫(xiě)圖片描述

(2)使用內(nèi)建連接參數(shù)表達(dá)式

這里寫(xiě)圖片描述

(3)設(shè)定參數(shù)值為本報(bào)表中已存在的field域中的$F{area_id}

這里寫(xiě)圖片描述

(4)存儲(chǔ)子表表達(dá)式,事實(shí)上,我將子表和父表已經(jīng)放在同一個(gè)文件夾中所以不必使用絕對(duì)路徑法,只需存儲(chǔ)一個(gè)路徑名稱即可

這里寫(xiě)圖片描述

完成,運(yùn)行一下:

這里寫(xiě)圖片描述
這里寫(xiě)圖片描述

3.4 圖表示例

3.4.1 餅圖

針對(duì) Pie圖表類型,有三個(gè)表達(dá)式需要我們輸入:Key,Value 和 Label。表達(dá)式 Key 允許你標(biāo)識(shí) Pie 圖里的一塊。如果 Key 的值出現(xiàn)重復(fù), 那么 Label 和 Value的值會(huì)關(guān)聯(lián)起來(lái)用來(lái)覆蓋 Key 的值。一個(gè) Key 值不能為 null。Value 的表達(dá)式值指定這個(gè)Key 的數(shù)字值。Label 表達(dá)式的值允許你為并圖中每一塊指定一個(gè)標(biāo)簽。這個(gè)表達(dá)式的值是可選的,同時(shí)默認(rèn)值為 key=value
首先拖動(dòng)圖表控件,ireport支持多種圖表,因?yàn)槭纠臄?shù)據(jù)比較簡(jiǎn)單,我們就只說(shuō)餅圖和柱狀圖。

這里寫(xiě)圖片描述
這里寫(xiě)圖片描述

放好餅圖以后,右鍵chart data,設(shè)置圖表屬性

這里寫(xiě)圖片描述

這里需要注意的是,value是用來(lái)表述你劃分餅圖關(guān)鍵詞的值,本例中,我們根據(jù)售貨員來(lái)銷(xiāo)售的蘋(píng)果汁來(lái)劃分餅圖,那么key就是售貨員,他的“值”,也就是蘋(píng)果銷(xiāo)售量就是value,value一般要求是數(shù)字類型。

這里寫(xiě)圖片描述

如果我們將label表達(dá)式換成$F{apple},就會(huì)是如下效果:

這里寫(xiě)圖片描述

個(gè)人認(rèn)為還是后者比較直觀。

3.4.2 柱狀圖

過(guò)程和餅狀圖一樣,效果如下:

這里寫(xiě)圖片描述

顯然更復(fù)雜的數(shù)據(jù)比較能體現(xiàn)到他的用處。

3.5交叉報(bào)表

有時(shí)候我們不僅需要縱向比較數(shù)據(jù),也需要同時(shí)橫向進(jìn)行比較,這就用到了交叉報(bào)表。
交叉報(bào)表需要用到空間crosstab
我們新建一個(gè)報(bào)表文件CrosstabTest,統(tǒng)計(jì)一下不同區(qū)域蘋(píng)果汁的銷(xiāo)售情況,綁好數(shù)據(jù)表后,拖拽交叉報(bào)表控件,根據(jù)向?qū)гO(shè)置:
首先選擇主報(bào)表數(shù)據(jù)集:

這里寫(xiě)圖片描述

然后,設(shè)定行參數(shù),我們選擇區(qū)域id作為分組依據(jù),group2暫時(shí)不用。

這里寫(xiě)圖片描述

接下來(lái)是列參數(shù),選擇銷(xiāo)售人員作為分組依據(jù)。

這里寫(xiě)圖片描述

然后是主區(qū)數(shù)據(jù),我們主要是看不同區(qū)域不同銷(xiāo)售人員蘋(píng)果汁的銷(xiāo)售情況所以選擇apple,由于是計(jì)數(shù),fuction選擇count即可。

這里寫(xiě)圖片描述

最后是布局,crosstab控件會(huì)自動(dòng)帶行總數(shù)列總數(shù),可自選。

這里寫(xiě)圖片描述

完成:

這里寫(xiě)圖片描述

不在該銷(xiāo)售區(qū)域的會(huì)被標(biāo)記為0.

此外,iReport還有獲取當(dāng)前時(shí)間,獲取頁(yè)數(shù)等小工具可供使用,這些工具都是基于TextField可以更改表達(dá)式進(jìn)行定義。當(dāng)模板文件編譯后,可放至程序中使用,并進(jìn)行參數(shù)傳遞。

這是我這一段對(duì)ireport的摸索,因?yàn)閿?shù)據(jù)簡(jiǎn)單,很多問(wèn)題還沒(méi)有發(fā)掘出來(lái),有錯(cuò)誤和不足的地方歡迎一起討論改正。

相關(guān)文章

  • Java多線程并發(fā)開(kāi)發(fā)之DelayQueue使用示例

    Java多線程并發(fā)開(kāi)發(fā)之DelayQueue使用示例

    這篇文章主要為大家詳細(xì)介紹了Java多線程并發(fā)開(kāi)發(fā)之DelayQueue使用示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 一篇文章帶你搞定JAVA反射

    一篇文章帶你搞定JAVA反射

    這篇文章主要介紹了Java反射機(jī)制的簡(jiǎn)單講解,本文講解了Java的高級(jí)概念反射機(jī)制,通過(guò)文字介紹案例該項(xiàng)概念和代碼的詳細(xì)展示,需要的朋友可以參考下
    2021-07-07
  • Java SSL與TLS客戶端證書(shū)配置方式

    Java SSL與TLS客戶端證書(shū)配置方式

    這篇文章主要介紹了Java SSL與TLS客戶端證書(shū)配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • springboot中如何配置LocalDateTime JSON返回時(shí)間戳

    springboot中如何配置LocalDateTime JSON返回時(shí)間戳

    這篇文章主要介紹了springboot中如何配置LocalDateTime JSON返回時(shí)間戳問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 全面理解Java類和對(duì)象

    全面理解Java類和對(duì)象

    下面小編就為大家?guī)?lái)一篇全面理解Java類和對(duì)象。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • Java并發(fā)編程中的ReentrantLock類詳解

    Java并發(fā)編程中的ReentrantLock類詳解

    這篇文章主要介紹了Java并發(fā)編程中的ReentrantLock類詳解,ReentrantLock是juc.locks包中的一個(gè)獨(dú)占式可重入鎖,相比synchronized,它可以創(chuàng)建多個(gè)條件等待隊(duì)列,還支持公平/非公平鎖、可中斷、超時(shí)、輪詢等特性,需要的朋友可以參考下
    2023-12-12
  • 詳解spring注解式參數(shù)校驗(yàn)

    詳解spring注解式參數(shù)校驗(yàn)

    本篇文章主要介紹了詳解spring注解式參數(shù)校驗(yàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • java二叉樹(shù)的幾種遍歷遞歸與非遞歸實(shí)現(xiàn)代碼

    java二叉樹(shù)的幾種遍歷遞歸與非遞歸實(shí)現(xiàn)代碼

    這篇文章主要介紹了java二叉樹(shù)的幾種遍歷遞歸與非遞歸實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2020-12-12
  • SpringBoot系列教程JPA之基礎(chǔ)環(huán)境搭建的方法

    SpringBoot系列教程JPA之基礎(chǔ)環(huán)境搭建的方法

    這篇文章主要介紹了SpringBoot系列教程JPA之基礎(chǔ)環(huán)境搭建的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Java中一維二維數(shù)組的靜態(tài)和動(dòng)態(tài)初始化

    Java中一維二維數(shù)組的靜態(tài)和動(dòng)態(tài)初始化

    今天通過(guò)本文給大家分享Java中的數(shù)組,包括一維數(shù)組和二維數(shù)組的靜態(tài)初始化和動(dòng)態(tài)初始化問(wèn)題,感興趣的朋友一起看看吧
    2017-10-10

最新評(píng)論

安仁县| 定边县| 临沭县| 上饶县| 高青县| 张掖市| 嘉鱼县| 洛南县| 莲花县| 巴楚县| 霍城县| 彭山县| 红原县| 马边| 西安市| 新蔡县| 沐川县| 锡林郭勒盟| 武城县| 柘城县| 轮台县| 昌宁县| 曲麻莱县| 扎鲁特旗| 红原县| 仪征市| 松滋市| 托里县| 保亭| 宜兴市| 寿阳县| 万全县| 应城市| 凭祥市| 军事| 介休市| 丹寨县| 潮州市| 海南省| 嵊泗县| 桓仁|