列名がJRXMLで繰り返されないようにするにはどうすればよいですか? JRXMLとJasperを使用してレポートを生成するときに、各ページに列ヘッダーが含まれないようにするための属性はありますか?
ヘッダーが常に特定のページ(最初のページなど)にある場合は、追加できます
<printWhenExpression><![CDATA[$V{PAGE_NUMBER}==1]]></printWhenExpression>
バンドに追加すると、1ページだけに印刷されます。PAGE_NUMBER
は、レポートが生成されるときに自動的に増加する組み込み変数です。
Javaを使用してレポートに入力する場合、次のパラメータをJavaコードに設定します。
parameters.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);
ジャスパーレポートタグにisIgnorePagination="true"
「trueに設定すると、レポートは1つの長いページに生成されます。」
JRXMLとJasperを使用してレポートを生成するときに、各ページに列ヘッダーが含まれないようにするための属性はありますか?
isPrintInFirstWholeBand
プロパティを使用して、列ヘッダーをGroup Header
バンド(またはグループ化していない場合はTitle
バンド)に移動できます。
簡単なオプションは、「列ヘッダー」の代わりに「テーブルヘッダー」をヘッダーに使用することです。
私も同じ問題に直面し、その解決策がうまくいきました。
ダミーグループを作成し、グループフッターバンドを使用します。これは、要約バンドが既に使用されているので、私にとってはうまくいきました。
私は試した:
params.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);
しかし、長いページ1/1を取得しました。これは、行を半分に分割しないと印刷するのが容易ではないためです。
代わりに、iReportデザイナーから2番目のアプローチを選択しました。
1-テーブルヘッダーに新しい空のセルを作成します。
セル(ヘッダーセル)を1つずつドラッグして、列ヘッダーからテーブルヘッダーに移動します。
3-列ヘッダーの空のセルを削除します。
4プロパティから[背景色]を選択して新しいセルの背景をデザインするか、スタイルを定義する列(テーブル)を選択して、プロパティからtable 1_CH
を選択します。
できる限り、列ヘッダーの使用は避けます。何らかの理由でグループヘッダーは、ユーザーに多くのオプションと柔軟性を提供します。したがって、レポートでグループを使用しない場合でも、定数式をgroupExpression
として使用する「定数グループ」を作成し、このグループのヘッダーをレポートの列ヘッダーとして使用します。
true
のような定数式では、データセットから独立しているため、グループは変更されません。また、決して変更されないため、自動的に2回印刷されることはありません。JasperSoftスタジオのチェックボックスをオンにするだけで、(他のオプションとともに)オプションが各ページに再印刷されます(または、対応する属性をグループタグに追加します)。
ページネーションを無効にする、またはページに依存するprintWhenExpression
を使用する場合の利点は次のとおりです。
欠点
以下は、JRXMLでの非繰り返し定数グループヘッダー定義の例です。
<group name="columnHeaderGroup" isReprintHeaderOnEachPage="false">
<groupExpression><![CDATA["a constant"]]></groupExpression>
<groupHeader>
<band height="20">
<!-- any column header content like Static Texts or Text Fields -->
</band>
</groupHeader>
</group>
isReprintHeaderOnEachPage="false"
をデフォルトの動作として削除することもできます。
以下の行を使用して、columnHeaderの繰り返しを回避することもできます