JavaとiReport(ジャスパー)を使って簡単なレポート作成プログラムを作成しています。ジャスパーのIPアドレスとその場所、現在アイドル状態かどうかを別のシステムで処理しているPCを示すpdfでレポートを作成するはずです)、および現在アタッチされているプロジェクトのリスト(他の場所でも管理されています)。iReportの別のリストに含まれている文字列のリストを印刷するにはどうすればよいですか?
私はこの問題のためにiReportはを使用していて、次のようにダミーコレクション生成クラスを作成しました:
public class PCReports {
public static java.util.Collection PC_collection;
public static java.util.Collection generateCollection() {
PC_collection = new ArrayList<PCLineDTO>();
PCLineDTO line = new PCLineDTO();
line.setIP("192.168.1.1");
line.setLab("location");
line.setActive(true);
line.addProjectName("project1");
line.addProjectName("project2");
line.addProjectName("project3");
PC_collection.add(line);
line = new PCLineDTO();
line.setIp("192.168.1.2");
line.setLab("location2");
line.setActive(false);
line.addProjectName("project1");
line.addProjectName("project2");
PC_collection.add(line);
return PC_collection;
}
}
この場合のあることにエンティティクラス:一部の周りに検索した後
public class PCLineDTO {
private String ip;
private String lab;
private Boolean active;
private ArrayList<String> projects;
}
インターネット、サブレポートを使用してa way to do something similarが見つかりました。
問題は、このサブレポートにdataSourceとして渡された文字列のコレクションを印刷する方法がわかりません。私は、インターネット上で見つかった例で
は、マスターコレクション内の各項目について、サブレポートは、それぞれのために独自のgetterメソッド-with オブジェクトのコレクションを渡された文字列のコレクションの代わりにattribute-としてここの場合です。そのような場合、彼らは、私は、例えば、使用することができなかったiReportは構文を介して使用するために必要な値をアクセス:
$F{project}
iReportは、それが受信したオブジェクト内に含まれるgetProject方法を探しているので、しかしこの場合、単純なStringオブジェクトです(getProjectメソッドはそのままです)。
どのJasperReport/iReportバージョンを使用していますか? – medopal
@medopal:ありがたいことに、最新(この時点で3.6.1)。 –