6

単一の詳細セクションを持つJasperReportがあり、詳細セクション内には、印刷されるデータベースの単一のフィールドがあります。したがって、クエリが100行を返す場合、100行を取得します。これは、10レコードがページに収まるため、約10ページの長さのレポートを生成します。

そのフィールドを列に印刷して、たとえば10レコードではなく40レコードをページに収めることができる方法はありますか?(10の4列を持つことによって)

4

1 に答える 1

9

複数列のレポートを構成できます。iReportを使用している場合は、レポート名のレポートインスペクターを右クリックして、[ページ形式]を選択します。[列]1セクションで、[列]をからに増やします。4必要に応じて、スペースを構成して列間の距離を定義します。レポートをクリックすると、[プロパティ]パネルで[印刷順序]を選択することもできます。

レポートデザイナで、詳細バンドの最初の列のフィールドをドラッグします。

JRXMLに追加されたプロパティは<jasperreports ...タグにあります:

  • columnCount="4":4列
  • printOrder="Horizontal":充填順序は水平です。

さらに参照できるようにJRXMLを添付しました。

<?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="report8" language="groovy" columnCount="4" printOrder="Horizontal" pageWidth="595" pageHeight="842" columnWidth="138" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="5e2835cc-bc36-4f77-8631-08a8deaa28d7">
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <queryString>
        <![CDATA[select 'A' as field]]>
    </queryString>
    <field name="field" class="java.lang.String"/>
    <detail>
        <band height="20" splitType="Stretch">
            <textField>
                <reportElement uuid="76707cdd-7dbe-477e-b3a4-38f9ba3bd003" x="0" y="0" width="136" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{field}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
</jasperReport>
于 2013-01-30T15:58:06.457 に答える