Versão atual:

Ireport, pequena dúvida.

Galera criei um relatorio no ireport pra ir aprendendo, passo uma lista de clientes para que ele coloque em um pdf igual no tutorial que eu estou seguindo. Só que o problema é que ele só passa o primeiro cliente da lista. A intenção era que mostrasse os 3, como o resultado no tutorial mostra. Abaixo vai os códigos e o resultado.

========================= Main =====================================

public class RelatorioTeste 
{
    public static void main(String[] args)
    {
        try{
            List<Cliente> clientes = new ArrayList<Cliente>();

            Cliente Cliente1 = new Cliente();
            Cliente1.setNome("RD Tecnologia");
            Cliente1.setEndereco("Rua Guaranis, Ipatinga");
            Cliente1.setComplemento("Sala 105");
            Cliente1.setTelefone("8888-5566");
            Cliente1.setUf("MG");

            Cliente Cliente2 = new Cliente();
            Cliente2.setNome("Romero Gonçalves Dias");
            Cliente2.setEndereco("Av Uruguai, Belo Horizonte");
            Cliente2.setComplemento("3º Andar");
            Cliente2.setTelefone("8888-5566");
            Cliente2.setUf("MG");

            Cliente Cliente3 = new Cliente();
            Cliente3.setNome("FLC Tecnologia");
            Cliente3.setEndereco("Rua Aricanduva, São Paulo");
            Cliente3.setComplemento("Sala 23");
            Cliente3.setTelefone("98523-1234");
            Cliente3.setUf("SP");


            clientes.add(Cliente1);
            clientes.add(Cliente2);
            clientes.add(Cliente3);


            ClienteREL relatorio = new ClienteREL();
            relatorio.imprimir(clientes);
        }
        catch(Exception e){
            System.out.println(e.getMessage());
        }

    }
}

============================== Relatorio ============================

public class ClienteREL 
{
    private String path; //Caminho base

    private String pathToReportPackage; // Caminho para o package onde estão armazenados os relatorios Jarper

    //Recupera os caminhos para que a classe possa encontrar os relatórios
    public ClienteREL() {
        this.path = this.getClass().getClassLoader().getResource("").getPath();
        this.pathToReportPackage = this.path + "br/com/rdtecnologia/jasper/";
        System.out.println(path);
    }


    //Imprime/gera uma lista de Clientes
    public void imprimir(List<Cliente> clientes) throws Exception    
    {
        JasperReport report = JasperCompileManager.compileReport(this.getPathToReportPackage() + "Clientes.jrxml");

        JasperPrint print = JasperFillManager.fillReport(report, null, new JRBeanCollectionDataSource(clientes));

        JasperExportManager.exportReportToPdfFile(print, "c:/Relatorio_de_Clientes.pdf");        
    }

    public String getPathToReportPackage() {
        return this.pathToReportPackage;
    }

    public String getPath() {
        return this.path;
    }
}

https://www.filepicker.io/api/file/LaBpy1MOTh2bNvSlObWu

================================ Resultado ============================

https://www.filepicker.io/api/file/NhMJZZw6SaeGWCPzfwSl

Versões(2):

Ver a versão formatada

Ireport, pequena dúvida.

Comentário

new question