Galera,
Tenho um relatório, onde o nome da coluna não é estático, e estou tentando passar o nome da coluna como um parâmetro. O Relatório compila corretamente no iReport, porém na aplicação ele simplesmente não abre e nenhuma exceção é lançada.
Segue meu código para facilitar o entendimento:
private void abreRelatorioDeProdutividade() throws JRException, Exception {
InputStream path = getClass().getClassLoader().getResourceAsStream("RelatorioDeProdutividade.jasper");
ProdutividadeTableModel tableModelProd = (ProdutividadeTableModel) tabelaProdut.getModel();
Map<String, Object> params = new HashMap<String, Object>();
params.put("grupo", grupoSelecionado);
params.put("dataini", dataini);
params.put("datafim", datafim);
params.put("pausa1", tableModelProd.getColumnName(2));
params.put("pausa2", tableModelProd.getColumnName(3));
params.put("pausa3", tableModelProd.getColumnName(4));
params.put("pausa4", tableModelProd.getColumnName(5));
params.put("pausa5", tableModelProd.getColumnName(6));
params.put("pausa6", tableModelProd.getColumnName(7));
params.put("pausa7", tableModelProd.getColumnName(8));
params.put("pausa8", tableModelProd.getColumnName(9));
params.put("pausa9", tableModelProd.getColumnName(10));
tableModelProd.setColumnName(0, "agente");
tableModelProd.setColumnName(1, "usuario");
tableModelProd.setColumnName(2, "pausa1");
tableModelProd.setColumnName(3, "pausa2");
tableModelProd.setColumnName(4, "pausa3");
tableModelProd.setColumnName(5, "pausa4");
tableModelProd.setColumnName(6, "pausa5");
tableModelProd.setColumnName(7, "pausa6");
tableModelProd.setColumnName(8, "pausa7");
tableModelProd.setColumnName(9, "pausa8");
tableModelProd.setColumnName(10, "pausa9");
tableModelProd.setColumnName(11, "durPausas");
tableModelProd.setColumnName(12, "durLogin");
tableModelProd.setColumnName(13, "qtdeLogin");
tabelaProdut.setModel(tableModelProd);
try {
JasperPrint jasperPrint = JasperFillManager.fillReport(path, params, new JRTableModelDataSource(tabelaProdut.getModel()));
JasperViewer.viewReport(jasperPrint, false);
} catch (JRException ex) {
ex.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
}
}