-1

iReportでデフォルトのREPORT_DATA_SOURCEパラメータを使用して、データ ソースからサブ レポートにデータを渡し、さらにサブ レポート内の別のサブ レポートに渡そうとしています。メイン レポートのパラメーター リストでREPORT_DATA_SOURCEをパラメーターとして表示できますが、サブ レポートで接続の種類を設定し、データ ソース式を次のように設定しようとすると、パラメーターが存在しないというJRValidationExceptionが発生します。見つかった。new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{REPORT_DATA_SOURC‌​E})

これが組み込みのパラメーターである場合、なぜそれを行うのか考えていますか?

4

1 に答える 1

2

あなたはする必要はありません

new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{REPORT_DATA_SOURC‌​E})

まったく。データソース式を単純に設定できるはずです

$P{REPORT_DATA_SOURCE} 

$P{REPORT_DATA_SOURCE} は、JasperReports が定義するすべての異なるタイプのデータ ソースが実装するインターフェースである JRDataSource のインスタンスです。実際のレポート レベルでは、JRDataSource のどの特定の実装であるかは問題ではありません。

また、あなたのコードでは、実際に JRDataSource インスタンスを JRBeanCollectionDataSource のコンストラクターに渡して新しいインスタンスを作成しようとしているわけではありません。その必要もありません。

于 2012-07-17T18:02:20.063 に答える