Máscara com IReport

11 respostas
J

Eaê rapaziada,

alguém sabe como colocar uma máscara de CPF no IReport?
O que exibo no relatório é a variável $F{CPF} que vem do BD como String.

Já tentei colocar ###.###.###-##, mais não funciona.

:roll:

Valeu.

11 Respostas

R

hehe, cara se descobrir por favor posta ae hein, ja revirei o Dr. Google, ma ate hj ainda naum axei uma que se encaixe com o CPF.

Falows

R

Ola,
neste caso, a solução que adotamos foi fazer uma classe java, passando o número do CPF como parametro, framtando ela na classe.

Vcs teriam que criar a classe, e dentro dela um método de conversão e formatação.

Ai no relatório, em Parameters, criar um novo parametro, por exemplo reportClass. Onde o tipo dele seria a classe (br.com.teste.nomeClasse), e no defaul vcs iniciariam ele assim, por exemplo:
new br.com.teste.nomeClasse()

E depois, no TextField, no campo TextFieldExpression, vcs chamam a função que vcs criaram na classe, por exemplo:
(($F{NR_CPF} == null) || ("".equals($F{NR_CPF}.trim()))) ?
“não informado” : ($P{reportClass}.cpf($F{NR_CPF}))

Espero ter ajudado !

J

A única forma que imaginei fazer foi formatando na própria query.

SELECT SUBSTR(TO_CHAR(pf.TXT_CPF, '[telefone removido]'), 0, 4) || '.' || 
SUBSTR(TO_CHAR(pf.TXT_CPF, '[telefone removido]'), 5, 3) || '.' || 
SUBSTR(TO_CHAR(pf.TXT_CPF, '[telefone removido]'), 8, 3) || '-' || 
SUBSTR(TO_CHAR(pf.TXT_CPF, '[telefone removido]'), 11, 2)AS CPF, ......

O problema que dessa forma eu amarrei a solução ao Banco à função do ORACLE.
Gostei da forma que “RagGirl” fez. Farei o mesmo a partir de agora.
RagGirl provavelmente irei fazer novas perguntas pra vc caso eu encontre alguma dificuldade.

Obrigado :thumbup:

V

po vc pode fazer com substring dentro do ireport, mas antes num esqueca de verificar o tamanho do campo, para num dá problema
por exemplo

campo.lenght() == 11?
campo.substring(0,3)+"."+campo.substring(3,6)+"."+campo.substring(6,9)+"."+campo.substring(9,11):
campo
M

olá
não estou conseguindo colocar a mascara do jeito que RagGirl respondeu
alguém pode me ajudar
obrigado

R

Faz como o Vijava mostrou que funciona legal!

M

eu tenho uma classe no eclipse com todas as mascaras do meu sistema
tem como chamar essa classe no ireport
desta maneira que o vijava funciona
mas se um dia mudar, tenho que lembrar de mudar em 2 lugares
se eu chamar a classe de mascara mudo apenas em 1 local
aheahaehaeheah + facil né
tem como ?
obrigado

R

Cara, consegui fazer isso passando um bean com os telefones ja formatados pro ireport

R

Aqui funfou quando eu mando já formatado das beans tbm !!
(tbm nao consegui achar nenhuma maneira de faer isso no IReport…=/)

R

Cara, acho que não tem nenhuma maneira ja pronta de se fazer isso.

M

passar o campo formatado também consigo
o problema é quando o campo tem que ser formatado está no select
dae fumoooooooooo

Criado 5 de julho de 2006
Ultima resposta 23 de jun. de 2010
Respostas 11
Participantes 7