0

iReport 4.1.3を使用しています。請求書レポートを作成しましたが、同じ請求書レポートを 3 部作成したいと考えています。最初の請求書には「ORIGINAL」、2 番目には「DUPLICATE」、3 番目には「TRIPLICATE」のラベルを付ける必要があります。

ありがとうございました。

4

1 に答える 1

3

レポートを開くたびに 3 つのコピーすべてを表示したい場合は、洗練されていない場合でも創造的な解決策があります。

3 つの異なるコピーを返すクエリの FROM 句にクロス結合を追加します。MySQL では、次のようになります。

CROSS JOIN
(
Select 'ORIGINAL' as copy, 1 as sequence
UNION
SELECT 'DUPLICATE' as copy, 2 as sequence
UNION
SELECT 'TRIPLICATE' as copy, 3 as sequence
) x

次に、select ステートメントに「copy」フィールドを追加します。これにより、クエリは、以前に返されたレコードごとに 3 つのレコードを返します。コピー フィールドに「ORIGINAL」が 1 レコード、「DUPLICATE」が 1 レコード、「TRIPLICATE」が 1 レコード。ORDER BY 句に「sequence」を追加します。

次に、レポートで、「コピー」フィールドでグループ化します。グループごとに新しいページを強制すると、すべての設定が完了します。レポート レベルで合計している変数は、グループ レベル (「コピー」グループ) に変更する必要があります。また、[概要] セクションにコントロールがある場合は、それらを新しいグループ フッター セクションに移動します。また、ページまたはグループ ヘッダーに「コピー」フィールドを表示するテキスト フィールドを作成します。

必ずしもきれいではありませんが、うまくいくはずです。

于 2012-06-06T17:49:31.967 に答える