我正在使用java和iReport(來自jasper)創建一個簡單的報告程序,它應該創建一個pdf格式的報告,顯示具有IP地址的個人電腦,他們的位置,目前是否閒置(由另一個系統)以及它目前附屬的項目列表(也在別處管理)。如何打印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傳遞給此子報表的字符串集合。
在這些例子中我在網上查到,對於主集合中的每個項目,子報告獲得通過對象集合-with自己的getter方法爲每個屬性 - 而不是字符串的集合作爲在這裏就是這種情況。在這些情況下,他們訪問他們需要經由iReport的語法,這是我無法使用,例如使用的值:
$F{project}
由於iReport的查找包含它接收到的對象中的一個getProject的方法,但在這種情況下,它是一個簡單的String對象(沒有getProject方法,因爲它是)。
您使用的是JasperReport/iReport版本? – medopal 2009-11-23 15:36:55
@medopal:謝天謝地,最新的(當時這篇文章:3.6.1)。 – 2009-11-23 15:51:26