IReport + hora + formatacao

Como faco para colocar hora, mes, ano no IReport ??
Como faco tb para formatar um campo que vem do banco antes de exibi-lo no relatorio ? Tipo assim : A consulta retorna M, mas eu nao quero mostrar M e sim Masculino.

valeu !!

bom, qto a data/hora, vc pode usar um campo String e nesse campo chamar uma funcao normal de uma classe sua q formate a data no formato q vc quer…lembrando q esse metodo deve ser static e deve retornar String…eh um modo…

qto a outra duvida, vc pode usar o famoso “comparador ternario” (acho q o nome eh esse mesmo)…
use assim:

$F{sexo}.equals("M") ? "Masculino" : "Feminino"

ele testa se o campo eh igual a M…se for atribui Masculino, se nao for atribui Feminino…vc pode aninhar qtos comparadores quiser…

falow

Cara dava para vc da uma explicada melhor nessa sua sugetao ai !! Eh pq eu comecei a mexer a pouco tempo com IReport ! Explica so a primeira sugestao, pois a segunda eu entendi.

valeu !!

bom, vc tem um campo q vai receber a data/hora no relatorio, certo??

entao crie uma classe qq e nessa classe faca um metodo static…formataData, por ex…
dentro do metodo formate a data no formato q vc quiser e faca ele retornar uma String…

no seu campo do relatorio, ao inves de colocar o valor da data, coloque a chamada do metodo…

minhaClasse.formataData(dataAserFormatada)

(nao lembro se tem ponto-e-virgula agora…

se essa classe estiver dentro de pacotes, coloke o caminho dos pacotes tb…

ficou mais claro??

[quote=“rbarioni”]bom, vc tem um campo q vai receber a data/hora no relatorio, certo??
[/quote]
O problema eh q eu nao recupero esse campo data e hora do banco . Eu quero informar em qual horario o relatorio foi impresso !!

[quote=“Apolo”][quote=“rbarioni”]bom, vc tem um campo q vai receber a data/hora no relatorio, certo??
[/quote]
O problema eh q eu nao recupero esse campo data e hora do banco . Eu quero informar em qual horario o relatorio foi impresso !![/quote]

entao fica ate mais simples…
coloke o codigo direto no campo, nem precisa usar uma classe a parte…

Coloca isso no FIELD…

new java.text.SimpleDateFormat(“dd/MM/yyyy HH:mm”).format(new Date())

1 curtida

Valeu galera aqui deu blz !! Me digao uma coisa: Depois que eu gerar meus relatorios, agora eu quero chamar da minha classe chamada principal. Eu fiz o seguinte, pegeui todos os arquivos xml´s mais os arquivos .java gerados pelo IReport e coloquei no mesmo local da minha classe principal. Mandei executar e deu esse erro :
java.io.InvalidClassException: dori.jasper.engine.base.JRBaseReport; local class incompatible: stream classdesc serialVersionUID = 502, local class serialVersionUID = 503

O que eh q ta errado na maneira que eu fiz !!

cara, parece q vc gerou os .jasper com uma versao do Jasper e tah tentando executar com outra versao…

dah uma arrumada nas coisas ae…

[quote=“rbarioni”]cara, parece q vc gerou os .jasper com uma versao do Jasper e tah tentando executar com outra versao…

dah uma arrumada nas coisas ae…[/quote]

Cara eu acho q nao eh isso nao !! Ate mesmo pq eu ja conseguir chamar outros relatorios feitos nessa mesma versao do IReport. A unica diferenca eh que esse relatrio que eu estou tentando chamar agora , esta manipulando su-relatorios.

vc compilou o sub-relatorio pelo IReport tb??

esse erro q vc teve eh problemas de versao, compilacao com outra versao…
eh chatinho mesmo… :lol: :lol: :lol:

Estou compilando o principal.xml da minha aplicacao. E estou deixando os XML´ s dos subrelatorios no mesmo diretorio do principal.xml. Coloquei tb os .jasper, mas tb nao deu certo !!

tente compilar tb os sub-relatorios e na aplicacao usar apenas os .jasper…

seus relatorios ficam um pouco mais rapidos pq nao vai precisar compila-los…e talvez resolva esse problema tb…

Ja tentei !! . Coloquei apenas a linha : JasperPrint print = JasperFillManager.fillReport(“Principal.jasper”,null, connection); Ou seja, usando o .jasper logo direto, sem compilar na minha aplicacao, mas tb nao deu certo !!

cara, q estranho…

qdo tinha esse problema, eu compilava tudo de novo e dava certo…

vc nao alterou a versao do IReport ou do Jasper nao, neh??