0
A
答えて
3
サブレポート内にサブレポートを生成するためのコードは、実際には必要ありません。これは、動的コンポーネントを持たないレポート(詳細バンドには何もありません)で行うことができます。もちろん、得られたレポートは興味深いものにあまり役に立たないでしょう。
これよりも面白いレポートが必要な場合は、レポートやサブレポートのデータを提供する必要があります。その時点で、コードはデータがどこから来ているかによって異なります。あなたがしようとしていることについてより多くの情報を提供できる場合は、おそらくもっと助けになるかもしれません。
サブレポートに動的コンテンツがある場合は、JRDataSourceを実装するオブジェクトへのアクセス権を渡す必要があります。
たとえば、私は最近、複数の「句」を含む1ページのレポートを作成しました。私の人生をもっとシンプルにするために、私は句をMapに格納し、次のコードを使ってJRDataSourceオブジェクトを派生させました。 JRDataSourceオブジェクトは、メインレポートのフィールドとして渡されました。
private static class ListMapDataSource implements JRRewindableDataSource {
private Map currentMap = null;
private int currentRow;
private int numberOfMoveFirsts = 0;
private List<Map<String, ? extends Object>> rowList;
ListMapDataSource(List<Map<String, ? extends Object>> rowList) {
this.rowList = rowList;
moveFirst();
}
ListMapDataSource(Map<String, ? extends Object> singleRow) {
this.rowList = new ArrayList<Map<String, ? extends Object>>(1);
this.rowList.add(singleRow);
moveFirst();
}
public boolean next() throws JRException {
if (currentRow >= rowList.size() - 1) {
return false;
}
currentRow++;
currentMap = rowList.get(currentRow);
return true;
}
public Object getFieldValue(JRField jrField) throws JRException {
String name = jrField.getName();
Class valueClass = jrField.getValueClass();
if (JasperReport.class.isAssignableFrom(valueClass)) {
}
return currentMap.get(name);
}
public void moveFirst() {
numberOfMoveFirsts++;
if (numberOfMoveFirsts > 10) {
System.out.println("Exceeded 10 moveFirst() calls. Aborting.");
System.exit(1);
}
currentRow = - 1;
currentMap = null;
}
}
関連する問題
- 1. クリスタルレポート&サブレポート
- 2. サブレポートJasperReport
- 3. サブレポートがオーバーフロー
- 4. Crytalレポート - サブレポート
- 5. クリスタルレポート - サブレポートが
- 6. SSRSテーブル/タブリックスセル内のサブレポートの使用
- 7. 水晶レポートのサブレポート
- 8. RLDCサブレポートの混乱
- 9. Supressingセクションでは、サブレポート
- 10. JasperReportsのサブレポートの代わり
- 11. レポートとサブレポートの相違点
- 12. メインレポートのサブレポート - iReport4.5.1とJasperReport 4.5
- 13. SSRS 2008の動的サブレポート
- 14. RDLC動的サブレポートの定義
- 15. 別のサブレポート値から1つのサブレポート値を差し引いてみよう
- 16. サブレポートとオブジェクトクラスを持つrdlc
- 17. サブレポートにデータを渡す
- 18. ビルドとクリーンjarファイル内のサブレポートにアクセスできません
- 19. SSRS2008 R2の空のサブレポートを非表示
- 20. Crystal Reports:1つ以上のページのサブレポート
- 21. サブレポートをクリックしたときのデータベースログインプロンプト
- 22. Reporting Servicesのサブレポートをリフレッシュする方法
- 23. メインレポートクリスタルにサブレポートの値を渡します。
- 24. サブレポートを含むSSRS 2005のレポートページオリエンテーション
- 25. SSRSのサブレポートにデータセットを渡す
- 26. クリスタルレポート:サブレポートの行を制限する
- 27. SSRS 2005のサブレポートを表示しない
- 28. Reportviewerのサブレポートが機能しません
- 29. サブレポートでnullエラーが発生するReportViewer
- 30. Jasper Reports:サブレポートをコンパイルする方法