Jump to content
We've recently updated our Privacy Statement, available here ×

Jasper produces report with only one page


Joe Taras

Recommended Posts

I tried to fill a report with Java.

My main report has some subreports with different levels.

When I try to show my report, I see only the first page, I don't know where I'm wrong:

Follow structure and Java code:

**Report structure**

Main report: rpt_accesso_storico.jrml
First level subreport: rpt_accesso_storico_sub.jrxml
Second level subreports (called by rpt_accesso_storico_sub.jrxml)
 - rpt_generale_sub.jrxml
 - rpt_sociale_sub.jrxml
 - rpt_ginecologico_sub.jrxml
 - rpt_ostetrico_sub.jrxml
 - rpt_generale_sub.jrxml
Third level subreports: rpt_primocontatto_sub.jrxml (used in every second level report)

**The Java code**

*Step 1:*

In parameter hashmap I add all compiled subreports so in the .jrxml file I've added all subreports as Parameters as follow:

    InputStream myIS = new ByteArrayInputStream(outByteArrayStream.toByteArray());
    JasperDesign jasperDesign = JRXmlLoader.load(myIS);
    JasperReport jr = JasperCompileManager.compileReport(jasperDesign);
    if (entryName.equals("rpt_generale_sub.jrxml")) {
        parameters.put("subreportGen", jr);
    } else if (entryName.equals("rpt_ostetrico_sub.jrxml")) {
        parameters.put("subreportOst", jr);
    } else if (entryName.equals("rpt_infermieristico_sub.jrxml")) {
        parameters.put("subreportInf", jr);
    } else if (entryName.equals("rpt_sociale_sub.jrxml")) {
        parameters.put("subreportSoc", jr);
    } else if (entryName.equals("rpt_ginecologico_sub.jrxml")) {
        parameters.put("subreportGin", jr);
    } else if (entryName.equals("rpt_psicologico_sub.jrxml")) {
        parameters.put("subreportPsi", jr);
    } else if (entryName.equals("rpt_accesso_storico_sub.jrxml")) {
        parameters.put("subreportA", jr);    
    } else if (entryName.equals("rpt_gen_primocontatto_sub.jrxml")) {
        parameters.put("subGenPrimoContatto", jr);
    }

Obviously that snippet is inside a for loop

*Step 2:*

I have a JasperDesign object as follow where inputStream is the main report file:

    JasperDesign jasperDesign = JRXmlLoader.load(inputStream);
    JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, conn);

Then I compile the jasperDesign in JasperReport object and finally I try to fill report with parameters where in that object I've all compiled subreports and the list of object to fill them.

But when I see the final result I've this:

[![Produced report][1]][1]

My report has only one page, and the other informations are cut.

After that, I add the parameters:

    Map<String, Object> myParameters = getJasperParameterMapsForAccessoStorico(lstDatiRichiesta, listPrintData, idUtente, idEnteUtente, hmListeValori);

**In the pom I've used jasperreports 6.20.0**

JRXML snippet code about subreport

**In the main report:**

    <subreport>
                    <reportElement positionType="Float" stretchType="ContainerHeight" x="20" y="6" width="550" height="40" uuid="d114b45a-18f1-41c2-96f6-92b4c507ebd5"/>
                    <subreportParameter name="subreportGen">
                        <subreportParameterExpression><![CDATA[$P{subreportGen}]]></subreportParameterExpression>
                    </subreportParameter>
                    <subreportParameter name="subreportSoc">
                        <subreportParameterExpression><![CDATA[$P{subreportSoc}]]></subreportParameterExpression>
                    </subreportParameter>
                    <subreportParameter name="subreportInf">
                        <subreportParameterExpression><![CDATA[$P{subreportInf}]]></subreportParameterExpression>
                    </subreportParameter>
                    <subreportParameter name="subreportGin">
                        <subreportParameterExpression><![CDATA[$P{subreportGin}]]></subreportParameterExpression>
                    </subreportParameter>
                    <subreportParameter name="subreportOst">
                        <subreportParameterExpression><![CDATA[$P{subreportOst}]]></subreportParameterExpression>
                    </subreportParameter>
                    <subreportParameter name="subreportPsi">
                        <subreportParameterExpression><![CDATA[$P{subreportPsi}]]></subreportParameterExpression>
                    </subreportParameter>
                    <subreportParameter name="subGenPrimoContatto">
                        <subreportParameterExpression><![CDATA[$P{subGenPrimoContatto}]]></subreportParameterExpression>
                    </subreportParameter>
                    <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{listaEventi})]]></dataSourceExpression>
                    <subreportExpression><![CDATA[$P{subreportA}]]></subreportExpression>
    </subreport>

**In the first level subreport:**

    <groupHeader>
            <band height="55">
                <printWhenExpression><![CDATA[$F{idEventoClinico}==EV_CLI_GEN]]></printWhenExpression>
                <staticText>
                    <reportElement x="0" y="0" width="130" height="20" uuid="0d05dbc4-3928-4d79-b633-e679eb7e9ea3"/>
                    <textElement>
                        <font fontName="SansSerif" size="14" isBold="true"/>
                    </textElement>
                    <text><![CDATA[Generale]]></text>
                </staticText>
                <subreport>
                    <reportElement positionType="Float" x="10" y="20" width="490" height="21" uuid="77df01e2-1477-4352-92ae-57c7a3ef56d1"/>
                    <subreportParameter name="subGenPrimoContatto">
                        <subreportParameterExpression><![CDATA[$P{subGenPrimoContatto}]]></subreportParameterExpression>
                    </subreportParameter>
                    <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{lstRichieste})]]></dataSourceExpression>
                    <subreportExpression><![CDATA[$P{subreportGen}]]></subreportExpression>
                </subreport>
            </band>
            <band height="50">
                <printWhenExpression><![CDATA[$F{idEventoClinico}==EV_CLI_SOC]]></printWhenExpression>
                <staticText>
                    <reportElement x="0" y="0" width="130" height="20" uuid="be5d447e-7098-4073-9aca-6b7f8b368543"/>
                    <textElement>
                        <font fontName="SansSerif" size="14" isBold="true"/>
                    </textElement>
                    <text><![CDATA[sociale]]></text>
                </staticText>
                <subreport>
                    <reportElement positionType="Float" stretchType="ContainerHeight" x="10" y="20" width="490" height="21" uuid="d4f897e4-a38f-483d-aa56-de83baec648a"/>
                    <subreportParameter name="subGenPrimoContatto">
                        <subreportParameterExpression><![CDATA[$P{subGenPrimoContatto}]]></subreportParameterExpression>
                    </subreportParameter>
                    <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{lstRichieste})]]></dataSourceExpression>
                    <subreportExpression><![CDATA[$P{subreportSoc}]]></subreportExpression>
                </subreport>
            </band>
            <band height="50">
                <printWhenExpression><![CDATA[$F{idEventoClinico}==EV_CLI_INF]]></printWhenExpression>
                <staticText>
                    <reportElement x="0" y="0" width="130" height="20" uuid="66cca17d-f41a-4a53-9cdc-d1f47563ec70"/>
                    <textElement>
                        <font fontName="SansSerif" size="14" isBold="true"/>
                    </textElement>
                    <text><![CDATA[infermieristico]]></text>
                </staticText>
                <subreport>
                    <reportElement positionType="Float" x="10" y="20" width="490" height="21" uuid="fed4f140-3f7c-49f0-8aca-9228559db184"/>
                    <subreportParameter name="subGenPrimoContatto">
                        <subreportParameterExpression><![CDATA[$P{subGenPrimoContatto}]]></subreportParameterExpression>
                    </subreportParameter>
                    <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{lstRichieste})]]></dataSourceExpression>
                    <subreportExpression><![CDATA[$P{subreportInf}]]></subreportExpression>
                </subreport>
            </band>
            <band height="50">
                <printWhenExpression><![CDATA[$F{idEventoClinico}==EV_CLI_OST]]></printWhenExpression>
                <staticText>
                    <reportElement x="0" y="0" width="130" height="20" uuid="90dee808-1605-42d8-bce3-aa0afaf8d4b5"/>
                    <textElement>
                        <font fontName="SansSerif" size="14" isBold="true"/>
                    </textElement>
                    <text><![CDATA[Ostetrico]]></text>
                </staticText>
                <subreport>
                    <reportElement positionType="Float" x="10" y="20" width="490" height="21" uuid="0fac5612-6938-477d-8f9b-c879349b7008"/>
                    <subreportParameter name="subGenPrimoContatto">
                        <subreportParameterExpression><![CDATA[$P{subGenPrimoContatto}]]></subreportParameterExpression>
                    </subreportParameter>
                    <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{lstRichieste})]]></dataSourceExpression>
                    <subreportExpression><![CDATA[$P{subreportOst}]]></subreportExpression>
                </subreport>
            </band>
            <band height="50">
                <printWhenExpression><![CDATA[$F{idEventoClinico}==EV_CLI_GIN]]></printWhenExpression>
                <staticText>
                    <reportElement x="0" y="0" width="130" height="20" uuid="df1c0abb-b7b6-4e5b-8525-83d5455f4fde"/>
                    <textElement>
                        <font fontName="SansSerif" size="14" isBold="true"/>
                    </textElement>
                    <text><![CDATA[Ginecologico]]></text>
                </staticText>
                <subreport>
                    <reportElement positionType="Float" x="10" y="20" width="490" height="21" uuid="d0118f35-1fbf-4a61-9a9b-90bc9c0c8821"/>
                    <subreportParameter name="subGenPrimoContatto">
                        <subreportParameterExpression><![CDATA[$P{subGenPrimoContatto}]]></subreportParameterExpression>
                    </subreportParameter>
                    <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{lstRichieste})]]></dataSourceExpression>
                    <subreportExpression><![CDATA[$P{subreportGin}]]></subreportExpression>
                </subreport>
            </band>
            <band height="50">
                <printWhenExpression><![CDATA[$F{idEventoClinico}==EV_CLI_PSI]]></printWhenExpression>
                <staticText>
                    <reportElement x="0" y="0" width="130" height="20" uuid="8a3a7a2f-8920-471f-97c3-4884a2429ff4"/>
                    <textElement>
                        <font fontName="SansSerif" size="14" isBold="true"/>
                    </textElement>
                    <text><![CDATA[Psicologico]]></text>
                </staticText>
                <subreport>
                    <reportElement positionType="Float" x="10" y="20" width="490" height="21" uuid="811c8cc4-8492-4b26-9680-27bff1b97abe"/>
                    <subreportParameter name="subGenPrimoContatto">
                        <subreportParameterExpression><![CDATA[$P{subGenPrimoContatto}]]></subreportParameterExpression>
                    </subreportParameter>
                    <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{lstRichieste})]]></dataSourceExpression>
                    <subreportExpression><![CDATA[$P{subreportPsi}]]></subreportExpression>
                </subreport>
            </band>
    </groupHeader>

Produced report with only cut first page

Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...