[RESOLVIDO] JasperReports - Problemas com listas dentro dos meus beans

6 respostas
Vyccus

Fala galera,

estou tentando fazer um relatório um tanto quanto complexo, e primeiramente vou mostrar meu bean:

public class Produto {

    private String nome;    

    private Integer preco;

    ...

    private List<Tamanho> tamanhos;

    //getters e setters

}

Para gerar o relatório, tenho uma lista de produtos List produtos;

Sendo assim, crio as colunas que não pertencem a lista de tamanhos(dentro do bean produto):

Coluna nome, preço, etc.

Após isso eu só tenho a lista de tamanhos para preencher, porém não sei quantos itens essa lista vai ter, pode ter por exemplo tamanhos como: P, M,G ou mesmo PP, P, M, G e GG. (esse é o grande problema, pois cada item da lista é uma coluna diferente)

Meu relatório deve ficar mais ou menos assim:

|nome|preço|outros campos|1º item da lista|2º item da lista| … |n item da lista|

Alguém aí sabe alguma forma de resolver isso?

Obrigado

6 Respostas

R

Com subreport vc resolve isso facinho.

O List<Produto> deve ficar na aba Detail e dentro do Detail vc deve ter o subreport que vai usar o List<Tamanho> como DataSource.

Não sei se ficou claro,qualquer duvida pode perguntar.

Vyccus

Pior que não ficou muito claro, talvez porque nunca usei Subreports. Vou dar uma pesquisada em como usar, e se você puderdar mais uma clareada seria bacana.

Obrigado por responder, já estava pensando em abandonar o Dynamic.

Vyccus

Alias, você não mencionou o Dynamic Jasper, essa solução que você apresentou não precisa dele?

Vyccus

Consegui por o Subreport, porém ele aparece embaixo entre cada linha de informação e o seu conteúdo é mostrado verticalmente e eu precisava horizontamente (vide exemplo no começo da thread). Estou usando o Dynamic Jasper, porém se alguém puder me dizer como fazer isso usando o iReport, será util também.

Vyccus

Consegui avançar mais um pouco, subreport está funcionando corretamente, agora o ultimo problema é a direção da coluna. Vou colocar uma imagem para mostrar o problema:

http://imageshack.us/photo/my-images/705/reportlo.jpg/

Aquelas informações de P/M/G estão em uma só coluna, pois vieram de um unico list, cada uma representa um registo “Tamanho”, o que eu gostaria de fazer é imprimir essa coluna na horizontal, simulando 3 colunas.

Alguém já fez ou sabe como fazer?

Vyccus

Resolvido.
Como o nosso amigo @raf4ever disse, dava pra matar com o subreport, fazendo assim a coluna mostrava os registros na vertical. Para resolver esse problema eu alterei algumas propriedades do subreport (printOrder: Horizontal e columns: coloque o valor que se adeque a sua tela).

Obrigado @raf4ever pela dica essencial.

Criado 27 de junho de 2012
Ultima resposta 28 de jun. de 2012
Respostas 6
Participantes 2