Estoy creando un programa de informes simple usando java e iReport (de jasper), que se supone que crea un informe en pdf que muestra las PC con su dirección IP, su ubicación, si está inactivo o no en este momento (manejado por otro sistema), y una lista de proyectos a los que actualmente está asociado (administrado en otro lugar, también).¿Cómo imprimo una lista de cadenas contenidas dentro de otra lista en iReport?
estoy usando iReport para este asunto, y he creado una clase de generación de recogida maniquí de la siguiente manera:
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 clase de entidad en este caso ser:
public class PCLineDTO {
private String ip;
private String lab;
private Boolean active;
private ArrayList<String> projects;
}
Después de buscar alrededor Internet, encontré a way to do something similar, usando subinformes.
La cuestión es que no sé cómo imprimir una colección de cadenas pasadas como dataSource a este subinforme.
En los ejemplos que encontré en Internet, para cada elemento de la colección principal, los informes integrados se aprobaron una colección de objetos -con sus propios métodos de acceso para cada atributo, en lugar de una colección de cadenas como es el caso aquí. En esos casos, se accede a los valores que necesitan para utilizar a través de la sintaxis iReport, que no era capaz de utilizar, por ejemplo:
$F{project}
Desde iReport busca un método getProject contenida dentro de los objetos que recibe, pero en este caso, es un objeto String simple (sin un método getProject, por así decirlo).
¿Qué versión de JasperReport/iReport estás usando? – medopal
@medopal: Afortunadamente, la última (en el momento de esta publicación: 3.6.1). –