2012-01-23 18 views
0

JasperReportsには、ユーザーの構成に基づいてフィールドを表示する必要があります。フィールドがユーザーに表示されている場合はフィールドを表示し、それ以外の場合はフィールドを非表示にします。誰も私にこの解決策を提案できますか?JasperReports:表示されている場合は列またはフィールドを表示します。その他の場合は表示されません。

+0

にあなたはiReportはを使用していますか?またはJavaコードでレポートを作成するだけですか? –

+0

@Dawood JasperReports APIの助けを借りて、レポートにパラメータを渡すことができます。その後、 'printWhenExpression'という式を使うことができます。 –

+0

@HenriqueMiranda、そうです、私はiReportを使っています。 – Dawood

答えて

2

フィールドを非表示にするかどうかを設定するには、parameterを使用できます。

parameterJasperReports APIの助けを借りて設定することです。

パラメータや建物レポートを設定するためのサンプルコード:

Map<String, Object> parameters = new HashMap<String, Object>(); 
parameters.put("isFieldHidden", true); 

JasperFillManager.fillReportToFile(report, parameters, connection); 

レポートテンプレート(jrxmlファイル)の抜粋:

<parameter name="isFieldHidden" class="java.lang.Boolean"/> 
... 
<textField> 
    <reportElement x="100" y="0" width="100" height="20"> 
     <printWhenExpression><![CDATA[!$P{isFieldHidden}]]></printWhenExpression> 
    </reportElement> 
    <textElement/> 
    <textFieldExpression><![CDATA[$F{city}]]></textFieldExpression> 
</textField> 
+0

クイックレスポンスのために@ alex-kに感謝しています。これはうまくいきます – Dawood

関連する問題