incrementType
を使用可能な値の1つに設定する必要があるため、変数を使用する方法がわかりにくい場合は、レポートを再構築し、グループ化戦略を見つける必要があります。 "ヘッダーライン"または同様のもの。
しかし、$P{REPORT_PARAMETERS_MAP}
定義しますが、パラメータマップを使用して、特定の要素が示されているどのように多くの時間をカウントするために使用できる回避策はありデフォルト値(NULLとして開始することを避けるため)を使用してカウントパラメータ
<parameter name="countReportElement" class="java.lang.Integer" isForPrompting="false">
<defaultValueExpression><![CDATA[0]]></defaultValueExpression>
</parameter>
は、今あなたが数えるのが好き帯における任意のテキストフィールドまたは他の要素の上に、あなたはインクリメントこのパラメータには、偽のprintWhenExpression
使用することができます
<reportElement x="0" y="262" width="320" height="25" uuid="8fa62997-ffa2-4777-923b-999d372ce09e">
<printWhenExpression><![CDATA[($P{REPORT_PARAMETERS_MAP}.put("countReportElement",((Integer)$P{REPORT_PARAMETERS_MAP}.get("countReportElement"))+1))!=null?true:false]]></printWhenExpression>
</reportElement>
3進演算では常にtrueと評価されます(Map.put(K key, V value)は前のオブジェクトを返します)。要素が評価されるたびに1ずつ増分された値をパラメータマップに入れます。
表示あなたのカウント値は、直接パラメータマップにアクセスします。
<textField>
<reportElement x="57" y="13" width="100" height="20" uuid="7ca30577-0ca9-47c2-91ae-c7002fbbfbf7"/>
<textFieldExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}.get("countReportElement")]]></textFieldExpression>
</textField>
レポートには必ずevaluationTime
を設定してください。
"ヘッドライン"とは、columnHeaderとはどういう意味ですか?またはあなたがバンドに描いた線、さらにこの変数、レポートの終わりをどこで使う必要がありますか? –
私のメインレポートに必要です。必要に応じてサブレポートがありますが、メインレポートはさまざまなヘッドラインを使用するディテールバンドで構成されています。見出しではタイトルを意味する。例えば1ユーザーデータ、2ユーザージョブ、3ユーザータイムライン.....しかし、ユーザーにジョブがない場合は、1ユーザーデータ、2ユーザータイムライン...となります。すべての見出しに変数を使用したい見出しのカウンター – Fl0R1D3R