在jsp里我根據不同的條件生成相應的rpt文件:
方法1:在水晶報表里定義參數,根據不同的傳入條件對相應的參數賦值,從而在rpt里生成相應的報表.方法一有一定的局限性.
方法2:在水晶報表里不定義參數,前臺頁面根據條件生成相應的SQl語句,調用相應的方法生成相應的報表.
如下:在水晶報表生成這樣的報表(select id,name,value form a)選擇了a表的全部內容
在jsp里如下調用:
ReportClientDocument clientDoc=...;
下面是調用:
String strSql="select id,name,value form a where a>8"
ResultSet rs=dbConn.getRs(strSql);//這個是根據sql查出rs
clientDoc.getDatabaseController().setDataSource(rs,clientDoc.getDatabase().getTables().getTable(0).getName(),"Reports"); --關鍵語句
....
上面是調用的主要部分,可選出a>8的表內容.
在這里我遇到了一個問題:
結果是出來了,可是id在報表里設計的時候是數字型,當用了上面的關鍵語句生成新的報表時,數字型變成了貨幣型,其他類型都沒變,不知為什么?而且我再用函數對id字段賦數字類型,報表顯示的id還是貨幣.
請大家幫幫忙怎么解決嗄?
或者還有什么好的方法動態生成報表?