2

iReports バージョン 3.7.6 を使用しています。データセットを使用してクエリに関連付けることで、テーブルを動的に生成しています。

クエリがレコードを返すと、すべてのレコードを含むテーブルが印刷されます。

ただし、クエリがゼロ レコードを返す場合、空のテーブルを表示する必要があります。しかし、私は水平線だけを得ています。

以下はジャスパー XML ファイルの一部です。

<componentElement>
    <reportElement x="131" y="11" width="424" height="24"/>
    <jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical">
        <datasetRun subDataset="pmDataSet">
            <parametersMapExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}]]></parametersMapExpression>
            <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
        </datasetRun>
        <jr:listContents height="24" width="424">
            <textField>
                <reportElement x="0" y="0" width="134" height="22"/>
                <box>
                    <topPen lineWidth="0.5"/>
                    <rightPen lineWidth="0.5"/>
                </box>
                <textElement/>
                <textFieldExpression class="java.lang.String"><![CDATA[$F{COLUMN_1}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="134" y="0" width="120" height="22"/>
                <box>
                    <topPen lineWidth="0.5"/>
                    <rightPen lineWidth="0.5"/>
                </box>
                <textElement/>
                <textFieldExpression class="java.lang.String"><![CDATA[($F{COLUMN_2}) ? $F{COLUMN_2} : "(Blank)"]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="254" y="0" width="170" height="22"/>
                <box>
                    <topPen lineWidth="0.5"/>
                    <rightPen lineWidth="0.5"/>
                </box>
                <textElement/>
                <textFieldExpression class="java.lang.String"><![CDATA[$F{COLUMN_3}]]></textFieldExpression>
            </textField>
        </jr:listContents>
    </jr:list>
</componentElement>

ここでは、"List" 要素 (jr:list) を使用し、それをデータ セットに関連付けました。

4

1 に答える 1

2

私の知る限り、これはテーブルでは達成できません。それでも、回避策があります。

Subreportテーブルの代わりに a を使用します。テーブルを使用して実行できることはすべて、サブレポートを使用して実行することもできます。あなたが世話をする必要があるのは、このプロパティだけです。

When No Data

次のいずれかに設定します

  • All Sections No Detail: ヘッダー情報のみ表示
  • No Data SectionNo Data: カスタム メッセージをバンドに表示できるようにします。

お役に立てれば。

于 2013-01-05T07:01:21.123 に答える