Boa tarde a todos!
Estou estudando relatórios e parei na seguinte situação:
Tenho 2 tabelas: Pessoa e Contas a Receber. A partir daí quero gerar um relatório de contas a receber por período, que mostre:
Cliente - Emissão - Vencimento - Valor.
Os campos emissão, vencimento e valor estão em Contas a Receber.
O campo cliente é uma foreign key da tabela Pessoa.
Tentei fazer com as buscas do próprio iReport e o relatório saía assim:
Cliente: 1
Emissão: 2012-10-19
Vencimento: 2012-10-19
Valor 1750.0
Quero trocar aquele 1 pelo Nome do cliente! E também passar os parâmetros pela classe, a partir de uma lista. Como posso fazer ?
Minha classe que imprime o relatório está assim:
public static void imprimeContasPeriodo(List<ContasReceber> contas) {
//cria um JRbeanDataSource que recebe a lista
JRBeanCollectionDataSource BCD = new JRBeanCollectionDataSource(contas);
//cria um hashmap para passar os parametros
HashMap ht = new HashMap();
//ht.put("PARAMETRO_IREPORT", "VARIAVEL_SISTEMA");
//visualiza o relatorio
try {
JasperPrint impressao = JasperFillManager.fillReport(System.getProperty("user.dir") + "/relatorios/ContasReceberPeriodo.jasper", ht, BCD);
JasperViewer viewer = new JasperViewer(impressao, false);
viewer.setVisible(true);
} catch (JRException ex) {
Logger.getLogger(ImprimeContasReceber.class.getName()).log(Level.SEVERE, null, ex);
}
}