Erro ao abrir jasper com sub-relatorios

2 respostas
S

pessoal estou com um probleminha que não estou conseguindo resolver sozinho, então gostaria de contar com a ajuda de vc6, meu caso é o seguinte:

tenho um relatorio que chama 3 sub-relatorios porem quando chamo o método para abrir o relatoriome aparece a seguinte exception:

java.lang.ClassCastException: cannot assign instance of net.sf.jasperreports.engine.base.JRBaseTextField to field net.sf.jasperreports.engine.base.JRBaseParagraph.paragraphContainer of type net.sf.jasperreports.engine.JRParagraphContainer in instance of net.sf.jasperreports.engine.base.JRBaseParagraph[quote]

abaixo esta meu codigo qeu chamo o relatorio:

[code]private void visualizarRelatorio() throws Exception {
        String caminhoRelatorioDessulfuracao, tituloRelatorio;
        File relatorioDessulfuracao;
        JasperViewer viewer;

        caminhoRelatorioDessulfuracao = Util.getRelatoriosDir() + "\\RelatorioDessulfuracao.jasper";
        relatorioDessulfuracao = new File(caminhoRelatorioDessulfuracao);

        JasperPrint impressao;
        Map parametros = new HashMap(); // Objeto que recebe que ira conter os parametros do relatório

        if (!relatorioDessulfuracao.exists()) {
            throw new Exception(
                    "Arquivo " + relatorioDessulfuracao.getAbsolutePath()
                    + " não encontrado. Primeiramente o relatório precisa ser compilado.");
        } else {
            try {
                tituloRelatorio = "Relatório de Dessulfuração"; // Recebe o titulo so relatorio
                JRDataSource dataSource = new JRBeanCollectionDataSource(this.dadosRelatorioDessulfuracao); // Fonte de dados do relatório
                parametros.put("SUBREPORT_DIR", Util.getRelatoriosDir() + "\\");
                parametros.put("titulo", tituloRelatorio); // passando parâmetros para o relatóro, onde o primeiro argumento e o nome do paramêtro e o segundo é o valor do parâmetro
                impressao = JasperFillManager.fillReport(caminhoRelatorioDessulfuracao, parametros, dataSource);

                viewer = new JasperViewer(impressao, false);
                viewer.setVisible(true);

            } catch (JRException ex) {
                log.error("Não foi possivel mostrar o relatório erro: " + ex.getLocalizedMessage());
                JOptionPane.showConfirmDialog(null, "Falah ao imprimir relatorio. Erro: " + ex.getLocalizedMessage() + " causa " + ex.getCause());
            }
        }
    }

se alguem puder me ajudar agradeço.

2 Respostas

S

Ninguem?

J

tenta colocar o codigo abaixo para imprimir

JasperViewer.viewReport(impressao, false);
Criado 22 de dezembro de 2011
Ultima resposta 2 de jan. de 2012
Respostas 2
Participantes 2