Compilar .jrxml [SEMI-RESOLVIDO]

3 respostas
RenataFA

Boa tarde pessoal,

Tenho um relatório .jrxml. Na propriedade "Print When Expression" de um dos campos tenho a seguinte expressão:

$F{fldDetalhe0}.compareTo(5) &gt 0 || $F{fldDetalhe2}.contains("10")

Onde o campo fldDetalhe0 é do tipo Integer e fldDetalhe2 é do tipo String.

Se eu rodo meu programa e mando compilar esse .jrxml em tempo de execução pra apresentar o relatório, eu me deparo com o seguinte erro durante a compilação:

[i]Errors were encountered when compiling report expressions class file:

  1. The method compareTo(Integer) in the type Integer is not applicable for the arguments (int)
    value = (java.lang.Boolean)(((java.lang.Integer)field_fldDetalhe0.getValue()).compareTo(5) &gt 0 || ((java.lang.String)field_fldDetalhe2.getValue()).contains("10")); [/i]

Porém, se eu pego esse mesmo .jrxml, abro no iReport e mando o iReport gerar o .jasper pra mim, ele não só gera como também posso visualizar o relatório perfeitamente.

Estou usando Java 1.5, iReport 1.3.0.

Minha pergunta é: Por que o mesmo .jrxml através do iReport gera o .jasper e em tempo de execução eu não consigo gerar?!

Por favor, vejam que minha dúvida NÃO é "Como corrigir o erro?", isso eu sei fazer! Quero saber porque existe essa reação diferente durante a geração do .jasper em ambos os casos.

Grata,
Renata

3 Respostas

dlrodrigues

Oi Renata,

Seguinte:

nesta linha tenta modificar para

a principio é para solucionar o problema, pois um tempo atras eu estava com o mesmo problema e foi solucionado assim, tipo, me explicaram que nao tem como fazer comparar dessa maneira e sim com objetos.

ok? espero ter ajudado em algo.

RenataFA

Diego, o que vc falou está correto mas não responde a minha pergunta. Veja que minha pergunta não é a que vc respondeu, eu inclusive imaginei que haveria esse tipo de confusão e por isso coloquei o seguinte trecho na minha mensagem:

RenataFA:

Por favor, vejam que minha dúvida NÃO é "Como corrigir o erro?", isso eu sei fazer! Quero saber porque existe essa reação diferente durante a geração do .jasper em ambos os casos.

Grata,
Renata

De qq. forma, obrigada.

RenataFA

Bom dia pessoALL! :lol:

Eu consegui encontrar a resposta a minha pergunta, agora eu sei o por quê do comportamento diferente nos dois casos.

Se vc for no iReport, meu: Options &gt Opções. Na aba Compiler, na propriedade Compiler, eu estou usando a propriedade:

Java Compiler (need tool.jar)

Porém, quando mando compilar o .jrxml via programação, ele assume a opção default que seria:

JasperReports Default

Agora preciso da ajuda de vcs, como faço pra durante a compilação em tempo de execução, especificar qual o compilador que desejo usar?!

Já pesquisei sobre isso mas até agora não consegui resolver…

Agradeço qq ajuda! :wink:

Criado 3 de maio de 2007
Ultima resposta 7 de mai. de 2007
Respostas 3
Participantes 2