iReport - Nome coluna passado como parâmetro

0 respostas
maranata

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();
        }
    }
Criado 13 de julho de 2010
Respostas 0
Participantes 1