Com certeza esta faltando um ‘)’ , segundo a msg de erro. Complicado esse teu codigo, voce nao consegue simplificar ele? ( com if-else )… dar manutencao em um codigo assim eh complicado pacas…
crie uma classe de ajuda com um metodo chamado formatNumber:
class X {
public String formatNumber(int i,int before,int after) {
java.text.NumberFormat nf = java.text.NumberFormat.getInstance();
nf.setMinimumIntegerDigits(before);
nf.setMinimumFractionDigits(after);
nf.setMaximumFractionDigits(after);
return nf.format(i);
}
}
entao no seu codigo do relatorio reporter voce simplesmente cria uma instancia de x e chama o metodo formatnumber com os parametros desejados :). problema resolvido?
ps: caso voce possa colocar mais de uma linha de codigo no reportmanager, coloca a funcao la e nao crie a classe
se não estou enganado !!! $F{INT_DESENVPROG_TOTALHORAS} no jasperReport é uma referência ao campo de um Select.
Ex. Tenho um Select produtos.codigo, produtos.nome from produtos e quero fazer uma referencia qualquer ao código utilizo $F{codigo}, obs. a letra F vem de Field.
Cool! Dei uma olhada no JasperReports… bem legal. Acho que pode ser uma alternativa fantastica para praticamente tudo o que se deseja imprimir… bem melhor q fazer no braço…
Fala sério, Barioni!! C tem que explicar que tem um código do Jasper aí…
Para o Elvis e os outros curiosos, o código fica dentro de um XML e precisa ser sempre um rvalue (ou seja, uma expressão que pode ser atribuída em uma variável). Por isso não dá pra usar if…else e construções assim.
De volta ao problema…
eu sei que vc não precisa usar as classes “de tipo” (String, Integer, Long, etc). pra gerar o relatório, desde que ela tenha um toString(). Vc precisa “importar” a classe no report, e tanto o compilador quanto o cara que roda o seu report (mais especificamente, o filler) precisam ter acesso à sua classe.
Mas o jeito mais simples é usando variáveis. Assim, ó:
mas consegui resolver meu problema…consegui fazer o iReport reconhecer uma classe minha q fazia todo esse calculo de datas…
basta colocar suas classes num .jar e coloca-lo no classpath do iReport…