2012-04-12 64 views
1

私はJasper Reportsを初めて使用しています。私は2つのグループのレポートを持っています。クエリに応じて、複数のページが印刷されています。Jasper Reports:1ページに複数のページを印刷するには

第一グループの高さ - 95ポイントと第二グループの高さ - 144ポイント

私は(私はページ内の5ページを組み込みたい)、これらの複数のページを1ページに印刷することにしたいです。各ページの高さは239ポイントです。 (ページの内容が239ポイント未満であっても、残りの部分を空白にして239ポイント後に次のページを開始したい)。私はレポートを作成しようとしましたが、上記レポートをサブレポートとして含め、メインレポートの高さを1195(239 * 5)ポイントに設定しました。それでも、これらは異なるページに印刷されています。

輸出の結果は次のとおりです。 Report looks like this when it is printed

メインレポートのデザインは次のとおりです。 Main Report - This is including 2 subreports

最初のサブレポートのデザインは次のとおりです。 First SubReport

第二のサブレポートのデザインis: Second SubReport
これについてお手伝いください。

+0

はあなたのスクリーンショットを投稿できますiReportでのレポートのデザインは? –

+0

@Alex、画像を追加できませんでした。レポートデザインのリンクをご覧ください_http://www.flickr.com/photos/[email protected] – charishb4u

答えて

0

私はあなたの仕様に基づいてテストを行いましたが、うまくいくようです。私はあなたにここにいくつかの指針を与えることができます。

  1. メインレポートのデザインでは、サブレポート要素の高さは、基本となるバンドと同じであれば問題ありません。サブレポート要素が短い場合は、結果に差が表示されます。
  2. サブレポートのページの高さは重要ではなく、バンドの高さだけです。
  3. 作成したグループで[新しいページで開始]オプションが選択されていないことを確認します。これが最も可能性の高い問題です。

トップ3が問題を解決していない場合は、下のサンプルを見て相違点を比較してください。

MainReport:

<?xml version="1.0" encoding="UTF-8"?> 
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="MainReport1" language="groovy" pageWidth="595" pageHeight="1195" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="0" bottomMargin="0"> 
    <property name="ireport.zoom" value="1.0"/> 
    <property name="ireport.x" value="0"/> 
    <property name="ireport.y" value="0"/> 
    <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false"> 
     <defaultValueExpression><![CDATA["C:\\Users\\Bizz\\Documents\\JasperReports\\"]]></defaultValueExpression> 
    </parameter> 
    <queryString> 
     <![CDATA[SELECT 
    PRODUCT."ID" AS PRODUCT_ID, 
    PRODUCT."NAME" AS PRODUCT_NAME, 
    PRODUCT."COST" AS PRODUCT_COST 
FROM 
    "PUBLIC"."PRODUCT" PRODUCT]]> 
    </queryString> 
    <field name="PRODUCT_ID" class="java.lang.Integer"/> 
    <field name="PRODUCT_NAME" class="java.lang.String"/> 
    <field name="PRODUCT_COST" class="java.math.BigDecimal"/> 
    <group name="Group1"> 
     <groupExpression><![CDATA[$F{PRODUCT_ID}]]></groupExpression> 
     <groupHeader> 
      <band height="50"> 
       <subreport> 
        <reportElement x="0" y="0" width="200" height="50"/> 
        <subreportParameter name="ProductID"> 
         <subreportParameterExpression><![CDATA[$F{PRODUCT_ID}]]></subreportParameterExpression> 
        </subreportParameter> 
        <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
        <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "MainReport1_subreport2.jasper"]]></subreportExpression> 
       </subreport> 
      </band> 
     </groupHeader> 
    </group> 
    <group name="Group2"> 
     <groupExpression><![CDATA["2"]]></groupExpression> 
     <groupHeader> 
      <band height="50"> 
       <subreport> 
        <reportElement x="0" y="0" width="200" height="50"/> 
        <subreportParameter name="ProductID"> 
         <subreportParameterExpression><![CDATA[$F{PRODUCT_ID}]]></subreportParameterExpression> 
        </subreportParameter> 
        <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
        <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "MainReport1_subreport1.jasper"]]></subreportExpression> 
       </subreport> 
      </band> 
     </groupHeader> 
    </group> 
    <background> 
     <band splitType="Stretch"/> 
    </background> 
    <title> 
     <band splitType="Stretch"/> 
    </title> 
    <pageHeader> 
     <band splitType="Stretch"/> 
    </pageHeader> 
    <columnHeader> 
     <band splitType="Stretch"/> 
    </columnHeader> 
    <detail> 
     <band splitType="Stretch"/> 
    </detail> 
    <columnFooter> 
     <band splitType="Stretch"/> 
    </columnFooter> 
    <pageFooter> 
     <band splitType="Stretch"/> 
    </pageFooter> 
    <summary> 
     <band splitType="Stretch"/> 
    </summary> 
</jasperReport> 

Subreport1:

<?xml version="1.0" encoding="UTF-8"?> 
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="MainReport1_subreport1" language="groovy" pageWidth="555" pageHeight="95" columnWidth="555" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0"> 
    <property name="ireport.zoom" value="1.0"/> 
    <property name="ireport.x" value="0"/> 
    <property name="ireport.y" value="0"/> 
    <parameter name="ProductID" class="java.lang.Integer"/> 
    <queryString> 
     <![CDATA[SELECT 
    PRODUCT."ID" AS PRODUCT_ID, 
    PRODUCT."NAME" AS PRODUCT_NAME, 
    PRODUCT."COST" AS PRODUCT_COST 
FROM 
    "PUBLIC"."PRODUCT" PRODUCT 
where 
    product_id = $P{ProductID}]]> 
    </queryString> 
    <field name="PRODUCT_ID" class="java.lang.Integer"/> 
    <field name="PRODUCT_NAME" class="java.lang.String"/> 
    <field name="PRODUCT_COST" class="java.math.BigDecimal"/> 
    <background> 
     <band splitType="Stretch"/> 
    </background> 
    <title> 
     <band splitType="Stretch"/> 
    </title> 
    <pageHeader> 
     <band splitType="Stretch"/> 
    </pageHeader> 
    <columnHeader> 
     <band splitType="Stretch"/> 
    </columnHeader> 
    <detail> 
     <band height="95" splitType="Stretch"> 
      <staticText> 
       <reportElement x="0" y="0" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[PRODUCT_ID]]></text> 
      </staticText> 
      <textField> 
       <reportElement x="100" y="0" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{PRODUCT_ID}]]></textFieldExpression> 
      </textField> 
      <staticText> 
       <reportElement x="0" y="20" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[PRODUCT_NAME]]></text> 
      </staticText> 
      <textField> 
       <reportElement x="100" y="20" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{PRODUCT_NAME}]]></textFieldExpression> 
      </textField> 
      <staticText> 
       <reportElement x="0" y="40" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[PRODUCT_COST]]></text> 
      </staticText> 
      <textField> 
       <reportElement x="100" y="40" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{PRODUCT_COST}]]></textFieldExpression> 
      </textField> 
      <componentElement> 
       <reportElement x="0" y="60" width="200" height="35"/> 
       <jr:barbecue xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" type="3of9" drawText="false" checksumRequired="false"> 
        <jr:codeExpression><![CDATA[$F{PRODUCT_ID}]]></jr:codeExpression> 
       </jr:barbecue> 
      </componentElement> 
     </band> 
    </detail> 
    <columnFooter> 
     <band splitType="Stretch"/> 
    </columnFooter> 
    <pageFooter> 
     <band splitType="Stretch"/> 
    </pageFooter> 
    <summary> 
     <band splitType="Stretch"/> 
    </summary> 
</jasperReport> 

Subreport2:

<?xml version="1.0" encoding="UTF-8"?> 
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="MainReport1_subreport2" language="groovy" pageWidth="555" pageHeight="888" columnWidth="555" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0"> 
    <property name="ireport.zoom" value="1.0"/> 
    <property name="ireport.x" value="0"/> 
    <property name="ireport.y" value="0"/> 
    <parameter name="ProductID" class="java.lang.Integer"/> 
    <queryString> 
     <![CDATA[SELECT 
    PRODUCT."ID" AS PRODUCT_ID, 
    PRODUCT."NAME" AS PRODUCT_NAME, 
    PRODUCT."COST" AS PRODUCT_COST 
FROM 
    "PUBLIC"."PRODUCT" PRODUCT 
where 
    product_id = $P{ProductID}]]> 
    </queryString> 
    <field name="PRODUCT_ID" class="java.lang.Integer"/> 
    <field name="PRODUCT_NAME" class="java.lang.String"/> 
    <field name="PRODUCT_COST" class="java.math.BigDecimal"/> 
    <background> 
     <band splitType="Stretch"/> 
    </background> 
    <title> 
     <band splitType="Stretch"/> 
    </title> 
    <pageHeader> 
     <band splitType="Stretch"/> 
    </pageHeader> 
    <columnHeader> 
     <band splitType="Stretch"/> 
    </columnHeader> 
    <detail> 
     <band height="144" splitType="Stretch"> 
      <staticText> 
       <reportElement x="0" y="0" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[PRODUCT_ID]]></text> 
      </staticText> 
      <textField> 
       <reportElement x="100" y="0" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{PRODUCT_ID}]]></textFieldExpression> 
      </textField> 
      <staticText> 
       <reportElement x="0" y="20" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[PRODUCT_NAME]]></text> 
      </staticText> 
      <textField> 
       <reportElement x="100" y="20" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{PRODUCT_NAME}]]></textFieldExpression> 
      </textField> 
      <staticText> 
       <reportElement x="0" y="40" width="100" height="20"/> 
       <textElement/> 
       <text><![CDATA[PRODUCT_COST]]></text> 
      </staticText> 
      <textField> 
       <reportElement x="100" y="40" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{PRODUCT_COST}]]></textFieldExpression> 
      </textField> 
      <componentElement> 
       <reportElement x="0" y="60" width="302" height="84"/> 
       <jr:barbecue xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" type="3of9" drawText="false" checksumRequired="false"> 
        <jr:codeExpression><![CDATA[$F{PRODUCT_ID}]]></jr:codeExpression> 
       </jr:barbecue> 
      </componentElement> 
     </band> 
    </detail> 
    <columnFooter> 
     <band splitType="Stretch"/> 
    </columnFooter> 
    <pageFooter> 
     <band splitType="Stretch"/> 
    </pageFooter> 
    <summary> 
     <band splitType="Stretch"/> 
    </summary> 
</jasperReport> 
関連する問題