Pessoal, tenho uma coleção de dados que é importado de um arquivo TXT, funciona perfeito, consigo emitir um relatorio pelo Jasper Report 6 de toda a lista, minha dificuldade são duas, gerar o relaltorio só de um funcionario ou um grupo de funcionario, ja tentei de tudo mais nao conseguir, entao vir aqui como ultima opção, kkkkkk
O botao que chama o relatório
private void botRelatorioActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Relatorio relatorio = new Relatorio();
try {
relatorio.gerarRelatorio(pc.pessoaId(1));
} catch (JRException ex) {
Logger.getLogger(Arquivo.class.getName()).log(Level.SEVERE, null, ex);
}
}
A classe relatorio
public class Relatorio {
private PessoaControler pc = new PessoaControler();
public void gerarRelatorio(List<Pessoa> lista) throws JRException {
InputStream fonte = Relatorio.class.getResourceAsStream("/relatorio/funcionario.jrxml");
JasperReport report = JasperCompileManager.compileReport(fonte);
Map<String, Object> parameter = new HashMap<>();
parameter.put("codigo", pc.pessoaId(1));
JasperPrint print = JasperFillManager.fillReport(report, parameter, new JRBeanCollectionDataSource(lista));
JasperViewer.viewReport(print, false);
}
}
eu nao achei nenhum exemplo que me ajudasse nesse sentido, porque só encontrei os parametros vindo de um select, no meu caso é de uma coleção, e o usuario escolhe se quer trazer a lista toda, um ou um pequeno grupo de funcionarios.