iReport - Pattern / + 3 digitos

4 respostas
andrestrindade

Boa tarde. Estou com dificuldade na edição de um pattern no Ireport.

Preciso fazer da seguinte forma:
O campo pode vim nulo, com 1, 2 ou 3 caracteres numéricos.
Quero deixar sempre com /###…

Ou seja: Se vier com 1 caractere, quero deixo /00#
Se vier com 2 caracteres, quero deixar /0##
SE vier com 3 caracteres, quero deixar /###
Se vier nulo, quero deixar nulo, sem a constante /

Tentei aplicar um pattern /###000 e não funcionou.

Alguma dica? Em outro campo eu apliquei um pattern semelhante sem problemas… Mas no caso era só ###000

Grato pela atenção.

4 Respostas

ManoJava

Pelo que entendi vc quer fazer tipo uma máscara, tente fazer com uma expressão dentro de um Textfield

Ex:

$F{SEU_CAMPO}.size(1) ?
"/00"+ $F{SEU_CAMPO} :
$F{SEU_CAMPO}.size(2) ?
"/0"+ $F{SEU_CAMPO} :
$F{SEU_CAMPO}.size(3) ?
"/"+ $F{SEU_CAMPO} :
""

Tenta fazer alguma coisa usando condicional que pode resolver seu problema, lembrando que essa é apenas uma das formas de resolver, podem existir outras porém ja utilizei algo semelhante num caso desse e foi satisfatório.

Att.

andrestrindade

ManoJava:
Pelo que entendi vc quer fazer tipo uma máscara, tente fazer com uma expressão dentro de um Textfield

Ex:

$F{SEU_CAMPO}.size(1) ?
"/00"+ $F{SEU_CAMPO} :
$F{SEU_CAMPO}.size(2) ?
"/0"+ $F{SEU_CAMPO} :
$F{SEU_CAMPO}.size(3) ?
"/"+ $F{SEU_CAMPO} :
""

Tenta fazer alguma coisa usando condicional que pode resolver seu problema, lembrando que essa é apenas uma das formas de resolver, podem existir outras porém ja utilizei algo semelhante num caso desse e foi satisfatório.

Att.

Obrigado pela resposta, foi de extrema importância! Na verdade eu estava utilizando o “Pattern” do próprio iReport, há um campo no qual posso adicionar a máscara. Consegui resolver com sua sugestão.

ManoJava

Ok, qualquer dúvida é só perguntar!!

Att.

andrestrindade

ManoJava:
Ok, qualquer dúvida é só perguntar!!

Att.

Putz agora que vi, o erro que eu editei agora o post, é porque não funcionou direito essa função.
Acho que tem a ver com os tipos de comparação… O .size é integer, mas estou trabalho com String e colocando String /

Criado 21 de outubro de 2010
Ultima resposta 21 de out. de 2010
Respostas 4
Participantes 2