這一系列的文章大概這樣安排:前面兩篇先對(duì)
iReport和JasperReport進(jìn)行簡(jiǎn)單的介紹,目的是把值得注意的地方提一下,免得后來者少走彎路。后面的幾個(gè)文章將詳細(xì)介紹一個(gè)使用Struts+Hibernate+Spring+iReport+JasperReport+Oracle聯(lián)合報(bào)表(兩個(gè)父子表聯(lián)合)的設(shè)計(jì)過程,以及交叉表的設(shè)計(jì)過程。
下面先是iReport的簡(jiǎn)單介紹,希望很多地方能通過一兩句話就減少你大半天的摸索。
第一節(jié).準(zhǔn)備工作
首先要做的事情,是到官方網(wǎng)站http://ireport.sourceforge.net下載最新版本的iReport,目前我用的是iReport-1.3.1-windows-installer.exe,好象現(xiàn)在已經(jīng)出了1.3.2。下載后和普通的軟件一樣點(diǎn)下一步安裝,這些就不用多說了。
安裝完畢后第一次打開時(shí)可能菜單會(huì)出些亂碼,在Options->選項(xiàng)->general->語言,選擇最上面的中文(中國),如果還不行的話就重啟一下iReport一般都沒問題了。
第二節(jié).創(chuàng)建報(bào)表
可以通過文件->報(bào)表精靈按照提示一步步來新建一個(gè)報(bào)表,速度相當(dāng)快,但那樣能選擇的樣式比較少,而且往往不能符合我們的需求,到時(shí)候改起來也很痛苦。所以我主要介紹的是從零開始自己來設(shè)計(jì)的過程。
首先開啟新檔,填上報(bào)表名稱、選好尺寸,如果要橫向報(bào)表的話在“定位”那里選擇“Landscape”。如果怕出現(xiàn)中文亂碼問題,在i18n->XML編碼,填上GB2312。其它的根據(jù)需要改改,然后OK。
新建的空白報(bào)表分為八個(gè)部分,具體每個(gè)部分的作用我就不多說了,網(wǎng)上的文章大把,找來看看,大概了解一下就可以。
第三節(jié).連接數(shù)據(jù)源
以Oracle數(shù)據(jù)庫為例。(因?yàn)樵?/span>iReport里不管用什么作為連接,如jdbc,JavaBeans還是Hibernate等,生成的報(bào)表文件都是一樣的,應(yīng)用到項(xiàng)目中只要字段名對(duì)上號(hào),用什么方法填充都可以。所以為了簡(jiǎn)單起見,建議這里用jdbc就行。筆者開始時(shí)為了Spring Loading Hibernate Connection作為連接花費(fèi)了不少時(shí)間才成功,白費(fèi)勁)
1. 添加Classpath。在Options->Classpath,,然后Add JAR,把ojdbc14.jar添加進(jìn)來。
2. 連接/資料來源。在Data->連接/資料來源,然后new。隨便填上Name,在Type of Connection選擇DataBase JDBC connection,其它的填寫如圖3.1所示。記得有空把Sava Password的勾給打上。最后點(diǎn)擊Test出現(xiàn)成功提示就可以Save了。
(圖3.1)
3. 設(shè)定動(dòng)態(tài)連接。在Data->設(shè)定動(dòng)態(tài)連接,選擇剛才填寫的Name,點(diǎn)OK即可。
4. 報(bào)表查詢。在Data->報(bào)表查詢,填上查詢的SQL語句,如圖3.2,下面能出現(xiàn)字段名和字段類型就沒問題。
(圖3.2)
第四節(jié).設(shè)計(jì)報(bào)表
1. 畫線。如果需要畫線,就選中該字段,右擊->屬性->Border,建議每個(gè)字段的左邊和下邊畫上線,最后一字段就左邊、下邊和右邊都畫上線,這樣就不會(huì)看上去兩根線重復(fù)。
2. 自動(dòng)變量。如果需要增加一個(gè)自動(dòng)增加的序號(hào),可在預(yù)覽->報(bào)表變量,隨便起個(gè)名字,變量類型選擇java.lang.Integer,Caculation type選擇Count,Reset type選擇Report,其余的默認(rèn),完了以后把該變量拖拉到你喜歡的位置設(shè)計(jì)下就OK了。(如圖4.1)
(圖4.1)
3. 自動(dòng)換行。如果不處理一下,有些字段的內(nèi)容太長(zhǎng)了就會(huì)顯示不全。選中該字段,右擊->屬性,在Text Field把Stretch with overflow勾上。同時(shí)把該行所有的字段選上,右擊->屬性,在Common的Stretch Type選擇Relative to tallest object。(如圖4.2)
(圖4.2)
4. 待補(bǔ)充。
還有很多細(xì)節(jié),其實(shí)多用用就會(huì)熟悉了。
第五節(jié).預(yù)覽
點(diǎn)擊建立,選擇JRViewer預(yù)覽,然后使用動(dòng)態(tài)連接執(zhí)行報(bào)表就可以了。