iReport - Variáveis

9 respostas
Felipe

Estou fazendo uma verificação de um campo em uma variável no ireport.
Se o campo da Tabela, que é do tipo Double, for igual a zero, no relatorio o campo deve ser mostrado vazio, sem nada.

ai esta o codigo:

$F{CapacEmbalagem}==Double.valueOf("0") ? " " : $F{CapacEmbalagem}

como faço pra transformar o campo Double em uma string na variável?

9 Respostas

Bruno_Cardoso

Não tenho a certeza se percebi o que quer dizer, mas para transformar um double em String é só usar o metodo estático String.valueOf(double d). Assim o resultado dessa expressão irá ser sempre String.

Felipe

Obrigado.
É isso mesmo.
Funcionou, transformou o Double em String.

Mas não está funcionando a verificação.
Como eu faria isso? Estou qerendo mostrar o valor do campo só quando ele for diferente de 0. Se for zero, mostra uma String qualquer.

$F{CapacEmbalagem}==Double.valueOf("0") ? "teste" : String.valueOf($F{CapacEmbalagem})
Bruno_Cardoso

Partindo do principio que $F{CapacEmbalagem} é um double entao acho que:

$F{CapacEmbalagem} != 0.0 ? String.valueOf($F{CapacEmbalagem}) : "";

deverá funcionar… já agora qual é o resultado que dá com a sua expressão ?

Felipe

Morcego

o código q vc passou naum tava compilando
precisei mudar umas coisas. No lugar d 0.0, coloquei Double.valueOf(“0.0”)

mas ainda dá erro.
o problema é q ele fala q isso eh diferente d zero, e mostra o valor do campo capaEmbalagem na tela, q no caso é 0.0.

$F{CapacEmbalagem}!=Double.valueOf("0.0") ? String.valueOf($F{CapacEmbalagem}) : ""

Bruno_Cardoso

ah isso é porque o campo $F{CapacEmbalagem} é um objecto Double e não um double primitivo, tente assim:

$F{CapacEmbalagem}.doubleValue() != 0.0 ? String.valueOf($F{CapacEmbalagem}) : "";
Felipe

Muito obrigado

agora está tudo funcionando

D

Olá… já que vcs estão falando de IReport gostaria de saber se no IReport não tem como fazer conexão com banco Firebird pois quando vc esta fazendo um novo relatório e entra na parte da conexão com banco, não tem a escolha para um banco FireBird e se eu colocar na mão ele não conecta… gostaria de saber se não tem como mesmo eu fazer esta conexão, será que vou ter que escolher outro banco…
obrigado…

Bruno_Cardoso

o iReport conecta a qualquer base de dados desde que voçê tenha um driver JDBC para ela. Por defeito o iReport já traz drivers para algumas bases de dados como o MySQL ou a Oracle, se não tiver para a sua, coloque o JAR do driver JDBC na pasta lib do iReport ou adicione-o ao classpath, depois é so correr o iReport e definir a ligação.
Mas lembre-se que esta ligação é apenas usada para testar os relatorios no iReport, porque depois na sua aplicação java, a connection tem que ser criada no código.

PEACE!

D

Valeu morcego deu certo, muito obrigado…

Criado 13 de fevereiro de 2004
Ultima resposta 16 de fev. de 2004
Respostas 9
Participantes 3