Olá…
Estou com uma dúvida no iReport. Gostaria de saber como faço para tratar uma sql com ResultSet múltiplo num relatório.
No meu caso tenho as tabelas veiculos, vendas e clientes só que uma venda pode ter o veículo vendido e mais o veículo trocado, ou seja, apenas uma tabela (que é a de veículos) pode originar 2 ResultSets diferentes: um veículo que é o veículo vendido (foreign key obrigatória) e outro veículo que é o veículo que foi aceito na venda (opcional).
Como faço para tratar esse caso?
Desde já obrigado…
ResultSet múltiplo
4 Respostas
Vejo duas opções:
Uma vc pode montar um relatorio principal com um subrelatorio, e entao vc pode usar a classe JRBeanCollectionDataSource e mandar duas lista para o iReport uma para o subrelatorio e outra para o relatorio principal.
Ow entao vc monta uma unica consulta onde te retorna os dados necessarios tanto para o veiculo de vendo qto para o de troca, manda essa lista para a JRBeanCollectionDataSource e no iReport vc cria dois grupos, um vc agrupa por carros vendidos e outro vc agrupa por carros trocados.
blz… eu consigo fazer esse sql (que retorna os dois veículos) num select só?
Se vc tem um atributo para definir qdo um veiculo eh vendido ou trocado, vc pode fazer uma sql direto na tabela, e no iReport vc agrupa por esse atributo, editando a expressao dele comparando como vendido ou trocado.
ex no iReport na criação do grupo
//irá agrupar somente por veiculos vendidos
new Boolean ($F{statusVeiculo}.equals("Vendido"))
//irá agrupar somente por veiculos vendidos
new Boolean ($F{statusVeiculo}.equals("Trocado"))
eu nao tenho esse atributo… eu só tenho o codigo do veiculo e o codigo veiculo do veiculo da troca na tabela de venda…
eu teria que ter uma forma de mandar dois ResutSets para preencher o relatorio…