Sto creando un semplice programma di reportage usando java e iReport (da jasper), che dovrebbe creare un report in pdf che mostra i PC con il loro indirizzo IP, la loro posizione, se è inattivo o no al momento (gestito da un altro sistema) e un elenco di progetti a cui è attualmente collegato (gestito anche altrove).Come si stampa un elenco di stringhe contenute in un altro elenco in iReport?
sto usando iReport per questa materia, e hanno creato una collezione di classe di generazione manichino come segue:
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;
}
}
La classe entità in questo caso essere:
public class PCLineDTO {
private String ip;
private String lab;
private Boolean active;
private ArrayList<String> projects;
}
Dopo qualche ricerca in giro Internet, ho trovato a way to do something similar, usando i sottoreport.
Il fatto è che non so come stampare una raccolta di stringhe passate come origine dati a questo sottoreport.
Negli esempi che ho trovato su internet, per ogni elemento della collezione maestro, i sottoreport sono state approvate una collezione di oggetti -con i propri metodi getter per ogni Attribute- invece di un insieme di stringhe come è il caso qui. In tali casi, si accede i valori avevano bisogno di utilizzare tramite la sintassi iReport, che non era in grado di utilizzare, per esempio:
$F{project}
Poiché iReport ricerca un metodo getProject contenuto all'interno oggetti ricevuti, ma in questo caso è un semplice oggetto String (senza un metodo getProject, per così dire).
Che versione di JasperReport/iReport stai usando? – medopal
@medopal: Per fortuna, l'ultimo (al momento di questo post: 3.6.1). –