2012-05-04 18 views
2

現在、いくつかの特殊な入力コントロールの動作でJasperReportレポートを作成しようとしています。私のニーズは次のとおりです。JasperReports動的入力コントロール

  • 4つの入力を制御し、それらの二つがdateboxesあり、他のものは、ラジオボタンの選択に応じて、ラジオボタン
  • あるオプションならば、databoxesの一つは、そう
  • 見えすべきかどうかを判断します1が選択され、両方の日付ボックスが表示されます。オプション2を選択した場合、1つの日付ボックスしか表示されません

"クリーン"な解決策があるかと思います。何も見つかりませんでした。

すべてのポインタが役立ちます。

答えて

2

印刷時の式は、JasperReports Serverの入力コントロールとは関係ありません。

入力コントロールを別の値に基づいて非表示にするための組み込みサポートはありません。カスケードインプットコントロールのインフラストラクチャは、これを実現するために確実に拡張できます...しかし、それは簡単なことではありません。

私が取るパスは、入力コントロールを表示する.jspページをカスタマイズすることです。 JasperReports Server Ultimate Guideには、「入力コントロールフォームのカスタマイズ」というセクションがあり、このパスを使い始めることができます。

+0

返信いただきありがとうございます。あなたの声明は私の前提を確認します。複雑すぎることなく.jspページをカスタマイズすることによって唯一の方法のように思えます。 – kinkee

0

dateboxの部分では、print when expressionを使用して、レポートの特定のブロックを表示できるかどうかを判断できます。

その他の入力の場合、レポート内に表示するデータを指定する場合は、レポートにParameterを入力してから、ユーザー入力からParameterを設定してレポートをエクスポートしてください。

+0

ちょっとランギ、お返事ありがとうございます。私はすでにprintWhen式を設定しようとしましたが、残念ながら入力コントロールはこの属性を受け入れません。基本的に私が達成したいのは、オプション1を選択すると、クエリは両方の日付を使用し、そうでなければ1つの日付ボックスのみを表示し、その値をクエリに使用することです。 – kinkee

+0

"この属性を無効にする"とはどういう意味ですか?もっと情報を追加する必要があります。あなたのアプリケーションは何ですか?どのようにユーザーがレポートをエクスポートするのですか? 'printWhenExpression'を使用しようとすると、どんな問題がありますか? –

+0

これは、指定した日付範囲(FromDate-ToDate)または日付ボックス(FromSpecifiedDate-today)を1つだけ設定することによって、この範囲がユーザーによって設定される、JasperServerにデプロイされたレポートです。ユーザは、ラジオボタンで、どの日付ボックスを表示するかを決定できるはずです。 InputControlsは私のレポートで定義されたパラメータに関連しているので、でprintWhenを設定することはできませんか、間違っていますか?属性を設定すると、エラー「「属性 'printWhen」は要素'パラメータ 'に表示されません」 – kinkee

関連する問題