圖形化頁(yè)面設(shè)計(jì)工具,使用過(guò)兩個(gè)月,感覺(jué)她在設(shè)計(jì)頁(yè)面上缺陷很多,經(jīng)常不能達(dá)到預(yù)期的效果,當(dāng)然也可能是我還沒(méi)有找到解決的辦法,不過(guò)她的自動(dòng)分頁(yè)、數(shù)據(jù)統(tǒng)計(jì)功能非常強(qiáng)悍。
1.把jasperreport.jar包放到JDK/lib下,把JDK的Tools.jar和數(shù)據(jù)庫(kù)驅(qū)動(dòng)包放到iReport/lib下;如果iReport/lib下沒(méi)有iTextAsian.jar包,要下載。
2.將jasperreport.jar包放到應(yīng)用程序的classpath下。
3.找不到url、不能load的原因:程序中數(shù)據(jù)庫(kù)連接錯(cuò)誤;程序中參數(shù)類型與iReport中定義的參數(shù)類型不一致;路徑確實(shí)不對(duì);iReport中的問(wèn)題;
4.一定要把Jasperrreport引入應(yīng)用程序,修改web.xml文件。
5.Map.set(…..)這里set 的是Object類型,否則將會(huì)包錯(cuò):cann’t load url …..
6.$P{sqlWhe}只能用于類似PreparedStatement參數(shù)綁定, $P!{sqlWhe}可替換Sql的任意部分.
7.控制某元素或某部分(Bands)是否顯示:在對(duì)應(yīng)的print when expression輸入返回Boolean類型的表達(dá)式,例如:new Boolean($F{quarter} == new Integer(4)),當(dāng)?shù)谒募径葧r(shí)才顯示才Band。
8. 在iReport里連接數(shù)據(jù)庫(kù)。點(diǎn) 或 資料來(lái)源—連接/資料來(lái)源—new添寫數(shù)據(jù)庫(kù)連接信息,連接類型選JDBC連接,其他選項(xiàng)根據(jù)系統(tǒng)配置填寫。然后點(diǎn)擊“test”,將會(huì)顯示測(cè)試結(jié)果。
9. 寫查詢語(yǔ)句:資料來(lái)源—報(bào)表查詢,輸入靜態(tài)SQL語(yǔ)句(沒(méi)有引用參數(shù));
10. 引用參數(shù)、字段、變量:參數(shù)是在應(yīng)用程序中定義的一個(gè)有值變量,引用形式為$P{parameters};字段就是數(shù)據(jù)表中一個(gè)字段,引用 $F{field};變量是在iReport中定義的,引用為$V{variable}。
11. 定義變量:在此只舉個(gè)例子,比方想計(jì)算報(bào)表中人員列的總額。點(diǎn)快捷方式***----Variables---新增,Variable name處填寫personTotal,變量類型選Integer,計(jì)算類型選Sum,Reset type處選報(bào)表,變量表達(dá)試寫$F{person_num}(對(duì)此列進(jìn)行總數(shù)統(tǒng)計(jì)),初始值添new Integer(0),最后再引用這個(gè)變量$V{personTotal},這樣就完成對(duì)人員列的統(tǒng)計(jì)。
12. 所下載的jasperReport一定要與自己使用的iReport版本相匹配
13. 編譯過(guò)程其實(shí)就是把jrxml后綴的文件生成jasper后綴的文件,程序要用到的是jasper文件。