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) > 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:
- 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) > 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
