Tworzę prosty program do raportowania za pomocą java i iReport (od Jaspera), który ma stworzyć raport w formacie PDF pokazujący komputery z ich adresem IP, ich lokalizacją, bezczynności lub nieobecności (obsługiwane przez inny system) oraz listę projektów, do których jest obecnie przyłączona (zarządzana również w innym miejscu).Jak wydrukować listę ciągów zawartych w innej liście w iReporcie?
Używam iReport dla tej sprawy, i stworzył atrapę zbiórki klasę generowania następująco:
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;
}
}
Klasa podmiot w tym przypadku są:
public class PCLineDTO {
private String ip;
private String lab;
private Boolean active;
private ArrayList<String> projects;
}
Po niektóre wyszukiwanie wokół Internet, znalazłem a way to do something similar, używając podraportów.
Chodzi o to, że nie wiem, jak wydrukować kolekcję ciągów przekazanych jako źródło danych do tego podraportu.
W przykładach znalazłem w Internecie, dla każdego elementu w kolekcji kapitana, podraportów przeszły kolekcję obiektów -z własnych getter dla każdego attribute- zamiast kolekcji ciągów jako jest tutaj. W tych przypadkach są one dostępne wartości są niezbędne do korzystania przez składni iReport, który nie był w stanie wykorzystać, na przykład:
$F{project}
Od iReport szuka sposobu getProject zawartego wewnątrz obiektów, które otrzymuje, ale w tym przypadku jest to prosty obiekt String (bez metody getProject).
Jakiej wersji JasperReport/iReport używasz? – medopal
@medopal: Na szczęście najnowsze (w czasie tego postu: 3.6.1). –