0
我想設置參數的值其實值數據集在主報表參數字段設置,但數據集的參數不填充的都是相同的name.Even如果它沒有顯示的默認值選項來設置主要報告參數值。我正在使用ireport 4.0.2.So你能告訴我如何動態地設置數據集中參數的值,這是我通過HashMap傳遞的。設置動態值數據集參數/ Mainreport的默認值參數的iReport
在此先感謝您的幫助。
`
<subDataset name="dataset1">
<parameter name="ID" class="java.lang.Integer" isForPrompting="false">
</parameter>
<queryString>
<![CDATA[select FIELD_LABEL,MONTHLY,ANNUAL,SUM FROM SALARY_DETAILS WHERE CANDIDATE_ID=$P{ID}]]>
</queryString>
<field name="FIELD_LABEL" class="java.lang.String"/>
<field name="MONTHLY" class="java.lang.Integer"/>
<field name="ANNUAL" class="java.lang.Integer"/>
<field name="SUM" class="java.lang.Integer"/>
</subDataset>
`
<parameter name="CANDIDATE_ID" class="java.lang.Integer"/>
<queryString>
<![CDATA[SELECT FIRST_NAME,LAST_NAME,DATE_OF_JOINING ,DESIGNATION,LABEL,SUM
FROM CANDIDATE C
LEFT JOIN PROFILE_INFO PI ON PI.ID = C.PROFILE_ID
LEFT JOIN LEVELS L ON PI.LEVEL_ID = L.ID
LEFT JOIN SALARY_DETAILS SD ON SD.CANDIDATE_ID = C.ID
WHERE C.ID=$P{CANDIDATE_ID} GROUP BY C.ID=$P{CANDIDATE_ID}]]>
</queryString>
<field name="FIRST_NAME" class="java.lang.String"/>
<field name="LAST_NAME" class="java.lang.String"/>
<field name="DATE_OF_JOINING" class="java.sql.Date"/>
<field name="DESIGNATION" class="java.lang.String"/>
<field name="LABEL" class="java.lang.String"/>
<field name="SUM" class="java.lang.Integer"/>
final String driverClass = "com.mysql.jdbc.Driver";
final String connectionURL = "jdbc:mysql://localhost:3306/mydb";
final String userID = "root";
final String userPassword = "root";
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("CANDIDATE_ID",1);
map.put("ID",1);
Connection con = null;
Class.forName(driverClass).newInstance();
con = DriverManager.getConnection(connectionURL, userID,userPassword);
InputStream input = new FileInputStream(new File(
"/home/user/Desktop/OfferLetter.jrxml"));
JasperDesign design = JRXmlLoader.load(input);
JasperReport report = JasperCompileManager.compileReport(design);
JasperPrint print = JasperFillManager.fillReport(report,map, con);
OutputStream pdfOP = new FileOutputStream(new File(
"/home/user/Desktop/OfferLetter.pdf"));
JasperExportManager.exportReportToPdfStream(print, pdfOP);
pdfOP.close();
con.close();
你是在談論iReport(gui模板設計器)還是關於JasperReports API?你想設置參數或數據源? – 2011-12-21 13:27:55
喜Alex..Thanks您的回覆......這是關於iReport的GUI模板設計在數據集中,我創建一個參數,我想動態填充,但是當我通過hasmap它不填充記得輸入值數據集parameter.But在案例主要報告參數是通過hashmap填充值。我在主要報表查詢中使用了兩個查詢,而在數據集查詢中使用了另一個查詢。在數據集查詢中,我使用數據集參數,即使我試圖將其默認值設置爲主報表參數值,但未顯示參數名稱。 – Anil 2011-12-22 04:51:03
你能發佈模板和代碼嗎? – 2011-12-22 06:31:02