2005 IR Help Posted August 27, 2006 Share Posted August 27, 2006 By: primarykey - primarykey Subreport doesn't show up 2004-12-30 00:54 Hi. I have a report and a subreport in it. But the subreport doesn't show up. Master report, subreport,custom datasource and my action are shown below: Master Report --------------------- <?xml version="1.0" encoding="UTF-8"?> <!-- Created with iReport - A designer for JasperReports --> <!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "D:WSAD5WorkspacesOgrenciIsleriOgrenciIsleriWebWebContentWEB-INFjasperreport.dtd"> <jasperReport name="AskerlikFormu" columnCount="1" printOrder="Vertical" orientation="Portrait" pageWidth="595" pageHeight="842" columnWidth="535" columnSpacing="0" leftMargin="30" rightMargin="0" topMargin="28" bottomMargin="85" whenNoDataType="AllSectionsNoDetail" isTitleNewPage="false" isSummaryNewPage="false"> <reportFont name="Arial_Normal" size="10" isDefault="true" pdfFontName="fonts/arial.ttf" pdfEncoding="Identity-H" isPdfEmbedded="true"/> <reportFont name="Arial_Small" size="9" isDefault="true" pdfFontName="fonts/arial.ttf" pdfEncoding="Identity-H" isPdfEmbedded="true"/> <reportFont name="Arial_Smaller" size="8" isDefault="true" pdfFontName="fonts/arial.ttf" pdfEncoding="Identity-H" isPdfEmbedded="true"/> <reportFont name="Arial_Smallest" size="7" isDefault="true" pdfFontName="fonts/arial.ttf" pdfEncoding="Identity-H" isPdfEmbedded="true"/> <parameter name="AskerlikFormuDonemleriSubreportDataSource" class="net.sf.jasperreports.engine.JRDataSource"/> <parameter name="AskerlikFormuDonemleriSubreport" isForPrompting="true" class="net.sf.jasperreports.engine.JasperReport"/> <background> <band height="0" isSplitAllowed="true"> </band> </background> <title> <band height="40" isSplitAllowed="true"> </band> </title> <pageHeader> <band height="0" isSplitAllowed="true"> </band> </pageHeader> <columnHeader> <band height="450" isSplitAllowed="true"> </band> </columnHeader> <detail> <band height="15" isSplitAllowed="true"> <subreport isUsingCache="true"> <reportElement mode="Opaque" x="0" y="0" width="100" height="15" forecolor="#000000" backcolor="#FFFFFF" key="element-10" positionType="FixRelativeToTop" isPrintRepeatedValues="false" isRemoveLineWhenBlank="false" isPrintWhenDetailOverflows="true"/> <parametersMapExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}]]></parametersMapExpression> <dataSourceExpression><![CDATA[$P{AskerlikFormuDonemleriSubreportDataSource}]]></dataSourceExpression> <subreportExpression class="dori.jasper.engine.JasperReport"> $P{AskerlikFormuDonemleriSubreport} </subreportExpression> </subreport> </band> </detail> <columnFooter> <band height="0" isSplitAllowed="true"> </band> </columnFooter> <pageFooter> <band height="0" isSplitAllowed="true"> </band> </pageFooter> <summary> <band height="0" isSplitAllowed="true"> </band> </summary> </jasperReport> Subreport ---------------- <?xml version="1.0" encoding="UTF-8"?> <!-- Created with iReport - A designer for JasperReports --> <!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "D:WSAD5WorkspacesOgrenciIsleriOgrenciIsleriWebWebContentWEB-INFjasperreport.dtd"> <jasperReport name="AskerlikFormuDonemleri" columnCount="1" printOrder="Vertical" orientation="Portrait" pageWidth="595" pageHeight="842" columnWidth="535" columnSpacing="0" leftMargin="30" rightMargin="0" topMargin="28" bottomMargin="85" whenNoDataType="AllSectionsNoDetail" isTitleNewPage="false" isSummaryNewPage="false"> <reportFont name="Arial_Normal" size="10" isDefault="true" pdfFontName="fonts/arial.ttf" pdfEncoding="Identity-H" isPdfEmbedded="true"/> <reportFont name="Arial_Small" size="9" isDefault="true" pdfFontName="fonts/arial.ttf" pdfEncoding="Identity-H" isPdfEmbedded="true"/> <reportFont name="Arial_Smaller" size="8" isDefault="true" pdfFontName="fonts/arial.ttf" pdfEncoding="Identity-H" isPdfEmbedded="true"/> <reportFont name="Arial_Smallest" size="7" isDefault="true" pdfFontName="fonts/arial.ttf" pdfEncoding="Identity-H" isPdfEmbedded="true"/> <parameter name="AskerlikFormuDonemleriSubreportDataSource" class="net.sf.jasperreports.engine.JRDataSource"/> <parameter name="AskerlikFormuDonemleriSubreport" isForPrompting="true" class="net.sf.jasperreports.engine.JasperReport"/> <field name="OgretimDonemi" class="java.lang.String"/> <field name="Yariyil" class="java.lang.Short"/> <field name="Standing" class="java.lang.String"/> <background> <band height="0" isSplitAllowed="true"> </band> </background> <title> <band height="0" isSplitAllowed="true"> </band> </title> <pageHeader> <band height="0" isSplitAllowed="true"> </band> </pageHeader> <columnHeader> <band height="0" isSplitAllowed="true"> </band> </columnHeader> <detail> <band height="15" isSplitAllowed="true"> <line direction="TopDown"> <reportElement mode="Opaque" x="0" y="0" width="250" height="0" forecolor="#000000" backcolor="#FFFFFF" key="element-330" positionType="FixRelativeToTop" isPrintRepeatedValues="true" isRemoveLineWhenBlank="false" isPrintInFirstWholeBand="false" isPrintWhenDetailOverflows="false"/> <graphicElement pen="Thin" fill="Solid" /> </line> <textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"> <reportElement mode="Opaque" x="41" y="1" width="60" height="13" forecolor="#000000" backcolor="#FFFFFF" key="element-25" positionType="FixRelativeToTop" isPrintRepeatedValues="true" isRemoveLineWhenBlank="false" isPrintInFirstWholeBand="false" isPrintWhenDetailOverflows="false"/> <textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single"> <font reportFont="Arial_Normal"/> </textElement> <textFieldExpression class="java.lang.String"><![CDATA[$F{OgretimDonemi}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"> <reportElement mode="Opaque" x="111" y="1" width="60" height="13" forecolor="#000000" backcolor="#FFFFFF" key="element-25" positionType="FixRelativeToTop" isPrintRepeatedValues="true" isRemoveLineWhenBlank="false" isPrintInFirstWholeBand="false" isPrintWhenDetailOverflows="false"/> <textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single"> <font reportFont="Arial_Normal"/> </textElement> <textFieldExpression class="java.lang.Short"><![CDATA[$F{Yariyil}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"> <reportElement mode="Opaque" x="181" y="1" width="60" height="13" forecolor="#000000" backcolor="#FFFFFF" key="element-25" positionType="FixRelativeToTop" isPrintRepeatedValues="true" isRemoveLineWhenBlank="false" isPrintInFirstWholeBand="false" isPrintWhenDetailOverflows="false"/> <textElement textAlignment="Left" verticalAlignment="Top" lineSpacing="Single"> <font reportFont="Arial_Normal"/> </textElement> <textFieldExpression class="java.lang.String"><![CDATA[$F{Standing}]]></textFieldExpression> </textField> </band> </detail> <columnFooter> <band height="0" isSplitAllowed="true"> </band> </columnFooter> <pageFooter> <band height="0" isSplitAllowed="true"> </band> </pageFooter> <summary> <band height="0" isSplitAllowed="true"> </band> </summary> </jasperReport> Datasource ---------------- public class DataSourceAskerlik implements JRDataSource { private Object[] obj; private int index = -1; public DataSourceAskerlik(Object[] object) { super(); this.obj = object; } public boolean next() throws JRException { index++; return (index < obj.length); } public Object getFieldValue(JRField field) throws JRException { Object value = null; String fieldName = field.getName(); KarneDTO dto = (KarneDTO)obj[index]; if ("OgretimDonemi".equals(fieldName)) { value = (Object)dto.getOgretimDonemi(); }else if("Yariyil".equals(fieldName)){ value = new Short(dto.getYariyil()); }else if("Standing".equals(fieldName)){ if(dto.getStanding().equalsIgnoreCase("Satisfactory") || dto.getStanding().equalsIgnoreCase("Honour") || dto.getStanding().equalsIgnoreCase("High Honour")) value = "GEÇ”İ"; else if(dto.getStanding().equalsIgnoreCase("Unsatisfactory")) value = "KALDI"; else value = "DEVAM"; } return value; } } Action ----------------- Collection ogrenciOgrenimDurumBilgileri = transkriptControllerDelegate.findOgrenciOgrenimDurumBilgileri(ogrenciDTO.getOgrenciNo()); JasperReport askerlikFormuDonemleriSubreport=RaporlarConfigUtil.compileStringReport(askerlikFormuDonemleriSubreportcompileDir, askerlikFormuDonemleriSubreportfile, this); JasperReport masterreport=RaporlarConfigUtil.compileStringReport(compileDir, file, this); DataSourceAskerlik ds = new DataSourceAskerlik(ogrenciOgrenimDurumBilgileri.toArray()); RaporlarConfigUtil.fillReport(askerlikFormuDonemleriSubreport,parameters,ds); parameters.put("AskerlikFormuDonemleriSubreportDataSource", ds); parameters.put("AskerlikFormuDonemleriSubreport", askerlikFormuDonemleriSubreport); File reportFile = new File(RaporlarConfigUtil.getJasperFilePath(this, compileDir, file+".jasper")); byte[] reportContent = RaporlarConfigUtil.getReport(parameters, reportFile,ds); RaporlarConfigUtil.writeReport(response, reportContent); ----------------------------------- This is the simplification of my code. I tried to put a static text in my subreport. But it also doesn't show up. Please help me. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now