IReport帮助文档step by step.docx

上传人:b****3 文档编号:18659750 上传时间:2023-08-24 格式:DOCX 页数:20 大小:611.64KB
下载 相关 举报
IReport帮助文档step by step.docx_第1页
第1页 / 共20页
IReport帮助文档step by step.docx_第2页
第2页 / 共20页
IReport帮助文档step by step.docx_第3页
第3页 / 共20页
IReport帮助文档step by step.docx_第4页
第4页 / 共20页
IReport帮助文档step by step.docx_第5页
第5页 / 共20页
IReport帮助文档step by step.docx_第6页
第6页 / 共20页
IReport帮助文档step by step.docx_第7页
第7页 / 共20页
IReport帮助文档step by step.docx_第8页
第8页 / 共20页
IReport帮助文档step by step.docx_第9页
第9页 / 共20页
IReport帮助文档step by step.docx_第10页
第10页 / 共20页
IReport帮助文档step by step.docx_第11页
第11页 / 共20页
IReport帮助文档step by step.docx_第12页
第12页 / 共20页
IReport帮助文档step by step.docx_第13页
第13页 / 共20页
IReport帮助文档step by step.docx_第14页
第14页 / 共20页
IReport帮助文档step by step.docx_第15页
第15页 / 共20页
IReport帮助文档step by step.docx_第16页
第16页 / 共20页
IReport帮助文档step by step.docx_第17页
第17页 / 共20页
IReport帮助文档step by step.docx_第18页
第18页 / 共20页
IReport帮助文档step by step.docx_第19页
第19页 / 共20页
IReport帮助文档step by step.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

IReport帮助文档step by step.docx

《IReport帮助文档step by step.docx》由会员分享,可在线阅读,更多相关《IReport帮助文档step by step.docx(20页珍藏版)》请在冰点文库上搜索。

IReport帮助文档step by step.docx

IReport帮助文档stepbystep

iReport使用幫助(stepbystep)

要打印的報表預覽與說明:

1.要打印的報表BookingHotelInformation(PDF預覽):

2.數據說明:

BookingHotelInformation由7組數據組成,分別為:

1)ContactPersonInformation

2)GuestInformation(與BookingHotelInformation為(一對多關系),具體有多少條記錄不確定)

3)HotelInformation

4)CheckIn/OutandFlightDetails

5)RoomDetail(與BookingHotelInformation為(一對多關系)具體有多少條記錄不確定)

6)Remaks

7)TotalAmount(MYR)

3.報表的設計:

考慮到報表中含有一對多的關系,因此須要子報表。

報表則設計為一個父報表,兩個子報表。

AreyouReady?

?

Stepone:

準備好要打印報表的數據

1.說明:

在項目開發過程中,需要打印的數據往往都是在業務層已經準備好了,為了更好的模擬真實項目的環境,我們在程序的業務層準備好打印報表的數據(模擬要打印的數據):

2.BookingHotelInfamtion的業務層處理類為:

BookingHotelFacade.java,在該類中準備需要的數據,首先我們從簡入繁,先開發報表的的標題與ContactPersonInformation部分,如下圖所示:

3.我們在業務層中準的數據為:

packagecom.techson.facade;

importjava.util.ArrayList;

importjava.util.Date;

importjava.util.HashMap;

importjava.util.Iterator;

importjava.util.List;

importjava.util.Map;

publicclassBookingHotelFacade{

publicstaticList>mapList(){

List>mapList=newArrayList>();

for(inti=1;i<5;i++){

Mapmap=newHashMap();

map.put("id","BK0811000"+i);

map.put("bookingDate",newDate());

map.put("customerName","DENG");

map.put("email","DYFDYX@163.COM");

map.put("telOne","12345678764");

map.put("telTwo","21312345445");

map.put("fax","5161155151516");

mapList.add(map);

}

returnmapList;

}

}

4.數據處理的幾點說明:

1)使用List>能更靈活的處理數據,建議使用。

Steptow:

搭建iReport的測試環境

1.準備好數據之後,就要搭建iReport的測試環境:

1)指定classpath:

打開iRport,選擇:

Option->classpath->addFloder->

(注:

必須指定已經編譯好的java文件(.class文件)的路徑,例如我項目已經編譯好的java文件的工作目錄在D:

\workspace\TestReport\WebRoot\WEB-INF\classes),則我選擇該目錄下的文件夾路徑。

開啟,點擊(SaveClasspath).

至此,指定classpath工作完畢。

2)指定數據源

打開iReport,選擇:

Data->Connections/DataSources->New->JavaBeanssetdatasource

->next->

(說明:

Name:

用戶自行輸入(我輸入的是testReport)

Factoryclass(theclassthatwillproducetheset):

輸入Stepone中我們準備數據的(package路徑加類名),

eg.我的是(com.techson.facade.BookingHotelFacade)

最後一個輸入框中輸入:

BookingHotelFacade提供數據的靜態方法名:

Eg.我的是publicstaticList>mapList()

那麼我輸入的是mapList.

點擊(test):

出現如下對話框,

點擊save保存—》SetasDefault.

至此設置數據源完畢.(VeryGood!

又向成功邁了一大步!

加油哦)

3)開始設計報表,終於邁進了羅馬,一覽iReport的方便之處了,很興奮吧!

開始了哦

1.新建報表:

FileNewDoc

1)將準備的數據與視圖的數據建立交互(很重要的哦!

選擇ViewFieldsNews

將(StepOne中準備的數據加到上圖)

map.put("id","BK0811000"+i);

map.put("bookingDate",newDate());

map.put("customerName","DENG");

map.put("email","DYFDYX@163.COM");

map.put("telOne","12345678764");

map.put("telTwo","21312345445");

map.put("fax","5161155151516");

eg.我將”bookingDate”的值加到field中去:

(注意選擇與其一一對應的數據類型哦!

最後,field如下:

接下來的事情就是將這些數據拉到新建的文件中進行打印嘍,嘻嘻!

方法很簡單,鼠標左鍵選擇一行fields,按緊直接拉到新建文件的(detail區域)中,如下圖

(1)所示:

兄弟我,將數據拉上去,並稍微的排了一下版,點擊:

運行報表,OH,Yeah!

我生成的報表為下圖

(2):

至此,報表已經可以順利的打印,steptwo也宣告完成。

報表打是打了出來可是它長得這麼醜怎麼見人呀!

那麼就要大家就要關注關注stepthree嘍!

(1)

(2)

Stepthree:

報表界面的設計

藝術在我的眼裡如糞土,因為我自認為藝術白痴,但也有例外,美術在我的眼裡如黃金,因為程序員離不開它,每個人都會希望自己做的項目好看,迎來別人的讚賞,我也不例外!

(俗人一個,嘿嘿!

開始,stepthree。

讓我們的報表更Beautiful!

首先,為報表設計表頭:

1)從工具欄中拉staticText(如下圖紅色框的)到新文件的details中去,

選中該staticText,點右鍵,選擇properties,大家可以看到下面的properities對話框:

裡面的具體屬性,我在這裡就不一一的講述了,大家可以一一試嘗。

通過一序列屬性的設置,我們完成了,stepone中的數據顯示效果:

如下:

打印出來看看,如下圖,呵呵,包裝的效果還真不錯!

(嘿嘿)

Stepfour:

開發嵌套的子報表

經過stepone,steptwo,stepthree相信大家對iReport已經有一定的了解了,雖說不能一覽全貌,但總算能用它來開發一些報表了吧,現在我們在此基礎之上,說一點點它的高級應用,開發子報表(GuestInformation)。

第一步,準備子報表的使用數據:

(在BookingHotelFacade.java)中增加數據,如下:

packagecom.techson.facade;

importjava.util.ArrayList;

importjava.util.Date;

importjava.util.HashMap;

importjava.util.Iterator;

importjava.util.List;

importjava.util.Map;

publicclassBookingHotelFacade{

publicstaticList>passengerList(){

List>list=newArrayList>();

for(inti=0;i<10;i++){

Mapmap=newHashMap();

map.put("firstName","HHH");

map.put("lastName","GGG");

map.put("passengerType","Child");

map.put("roomType","TWN");

map.put("title","Mr");

list.add(map);

}

returnlist;

}

publicstaticList>mapList(){

List>mapList=newArrayList>();

for(inti=1;i<5;i++){

Mapmap=newHashMap();

map.put("id","BK0811000"+i);

map.put("bookingDate",newDate());

map.put("customerName","DENG");

map.put("email","DYFDYX@163.COM");

map.put("telOne","12345678764");

map.put("telTwo","21312345445");

map.put("fax","5161155151516");

map.put("hotelPassengerList",passengerList());

mapList.add(map);

}

returnmapList;

}

}

第二步:

將數據加到fields中去:

如下:

(注意:

iReport沒有提供,List類型,而我們的passengerList是List類型,所以我們選擇Object)

第三步:

設計界面:

為子報表設計表頭

第四步:

new一個新文檔:

passengerList,為passengerList準備要顯示的數據。

選擇viewfieldsnew.

map.put("firstName","HHH");

map.put("lastName","GGG");

map.put("passengerType","Child");

map.put("roomType","TWN");

map.put("title","Mr");

添加到fields中去。

OK!

數據準備好了.

第五步:

設計子表的界面顯示。

在passengerList文檔detail中編繹報表要顯示的內容,教大家一個小技巧,將GuestInformation的表頭拷到passengerList的detail中:

然後一一的為其加上對應的要顯示的值。

如下圖:

咦,我們準備的數據隻有五個,怎麼多了一個呀!

呵呵:

NO.下面顯示是iRport中自帶的參數為下圖

(1)所示:

好了,界面設計好了。

我們就要把無用的空白全都刪除:

剛才拷過來的頭,已經沒有存在的價值了,刪除。

還有其它的空白頁面也都刪除了吧!

怎麼刪除,找到頁面屬性如下:

將其全部設為0:

最後的頁面為:

OK,萬事俱備隻欠東風。

現在就在父報表中嵌入子報表。

1)

選擇:

editInsertelementSubreport在detail中畫出你要顯示的位置:

它會彈出一個窗口如下:

選Useanexistiongreport,點擊browse找到上面新建的passengerList文件:

如下圖:

點擊nextnextnextfinished

選擇子報表右鍵propertiesSubreportConnection/DataSourceExpression選擇Usedatasourceexpression然後在域中輸入:

,如下圖所示.

至此,我們真的是萬事俱備了,心急了,運行

嘻嘻,報錯了吧,心急吃不了熱豆腐!

至理名言。

此時我們要重啟一下iReport,為啥,俺也不清楚,隻知道一個原因那就是在BookingHotelFacade.java中添加了新的數據,就要重啟一下iReport。

(沒有辦法解決)

重啟iReport之後,就可以看到運行後的效果了。

呵呵!

還是不行,忘了一點,passengerList子報表要先編譯一下才,先運行

現在終於可以了:

Ok,stepbystep的iRepor至此已經完成,最後不忘總結一翻,看看stepfive你有沒有遇到過這樣的問題呀!

呵呵

Stepfive:

開發過程的問題總結

iReportsoeasy!

感謝iReport,感謝java開源項目

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2