iReportを使用して、顧客が製品の印刷用カタログを生成できるようにします。このプロセスはうまく機能します。私たちが苦労してきたことの1つは、これらの製品カタログの目次を作成する方法です。iReport/JasperReportsに目次を作成するにはどうしたらいいですか?
私はScriptlet機能を使ってこれを撮影することにしました。私たちのレポートはすべて、マスターレポートとサブレポートがあるという点で、すべてマスター詳細です。
最初に、スクリプトレットをマスターレポートに添付し、詳細レポートのすべての製品番号を収集し、その値をマスターレポートに戻す方法を見つけようとしました。サブレポートからマスターに戻すデフォルト変数(例:PAGE_NUMBER、COLUMN_NUMBER、PAGE_COUNT、COLUMN_COUNT)のみを渡すことができるように、マスターレポートに詳細情報を戻す方法を理解できません。
それでは、スクリプトレットを詳細レポートに添付してみました。まあ、詳細レポートでは、マスターのページがわからないので、マスターのpage_numberを詳細レポートの変数に渡し始めました。それは、マスターからのページ番号がスキップされるまで、詳細がオーバーフローすることがあることを除いて、うまくいった。つまり、サブレポートが2ページ分以上のデータを返す場合は、次回にサブレポートが呼び出されるときにページ番号が失われます。
これを行うにはどうすればよいですか?
このプロセス全体でも、レポートの最後に目次が表示されます。 – Andrea
いいえ、実際のレポートを実行するJavaコードでは、配列内のJasperPrintオブジェクトを収集します。 TOCが作成されると、TOCは自動的に配列の先頭に挿入されます。 – AKWF