| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/04/2005 08:21:55
|
RicardoFeliciano
Smalltalk
Membro desde: 27/04/2005 13:45:51
Mensagens: 3
Offline
|
Boas,
Estou a elaborar um report usando o Jasper ireports. Já tenho os reports feitos só que agora preciso formatar alguns resultados.
Tenho um field no report que é um double, e preciso formatar ele.
Se fizer apenas no textfield $F{Variavel}, ele surge sem problemas.
Agora se eu quiser multiplicar o field por um valor? Como é que eu faço? É que tudo onde tente precher acaba por dar erros de compilação, e o valor sem formatação não diz nada.
Obrigado
Ricardo
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/04/2005 08:47:13
|
rflprp
GUJ Ranger
Membro desde: 27/04/2005 18:52:49
Mensagens: 822
Offline
|
Cara, a única forma que eu consegui evitar esse problema foi trazendo o resultado da conta já no select.
Também gostaria de saber como se faz operações no mardito.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/04/2005 09:29:58
|
Filipe Sabella
GUJ Expert
Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline
|
$F{Field}.doubleValue() * 2
|
Former LIPE. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/04/2005 11:08:16
|
RicardoFeliciano
Smalltalk
Membro desde: 27/04/2005 13:45:51
Mensagens: 3
Offline
|
epah...isto não funcionou...
Isso é suposto fazer onde?
Vou tentar detalhar mais um pouco...
Estou a usar o jasper ireport 0.4.1.
Tenho um textfield no report, onde no separador text field, em textfield expression tem o field TOTAL referenciado : $F{TOTAL} que é do tipo double.
Isto está a funcionar, só que este valor total assume valores do tipo 0,0045327384638 por exemplo, e eu preciso de o formatar. Preciso de o multiplicar etc.
Se eu fizer edit -> edit xml source, a linha referente a este objecto é:
<textFieldExpression class="java.lang.Double"><![CDATA[$F{TOTAL}]]></textFieldExpression>
se eu no objecto alterar o valor
$F{TOTAL}
por
$F{Total}.doubleValue()*2 obtenho os seguintes erros de compilação:
net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 1. doublevalue cannot be resolved or is not a field value = (java.lang.Double)(((java.lang.Double)field_TOTAL.getValue()).doublevalue*2); <---------> 2. doublevalue cannot be resolved or is not a field value = (java.lang.Double)(((java.lang.Double)field_TOTAL.getOldValue()).doublevalue*2); <---------> 3. doublevalue cannot be resolved or is not a field value = (java.lang.Double)(((java.lang.Double)field_TOTAL.getValue()).doublevalue*2); <---------> 3 errors at net.sf.jasperreports.engine.design.JRJdtCompiler.compileReport(JRJdtCompiler.java:156) at net.sf.jasperreports.engine.design.JRDefaultCompiler.compileReport(JRDefaultCompiler.java:149) at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:171) at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:153) at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:39 at java.lang.Thread.run(Unknown Source)
Não queria ser chato, mas infelizmente ainda não percebo muito disto e agradeço a vossa ajuda.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/04/2005 11:49:42
|
rflprp
GUJ Ranger
Membro desde: 27/04/2005 18:52:49
Mensagens: 822
Offline
|
Ricardo, pq vc não usa o iReport ?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/04/2005 11:59:57
|
Filipe Sabella
GUJ Expert
Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline
|
$F{TOTAL}.doubleValue() * 2
é diferente de
$F{TOTAL}.doubleValue * 2
E, se você precisa de totais, crie uma variável e, no tipo de conta, coloque 'sum' e indique o campo a ser somado
|
Former LIPE. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/04/2005 12:27:36
|
rflprp
GUJ Ranger
Membro desde: 27/04/2005 18:52:49
Mensagens: 822
Offline
|
por exemplo: preço(double) x quantidade(int)
$F{PRECO}.doubleValue() * $F{QTD}.intValue()
Assim ???
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/04/2005 12:56:03
|
RicardoFeliciano
Smalltalk
Membro desde: 27/04/2005 13:45:51
Mensagens: 3
Offline
|
Ricardo, pq vc não usa o iReport ?
Na verdade é o que eu estou a usar. Só mostrei o código porque já reparei que aqui a malta aqui martela no xml....eu até nem percebo muito (a minha programação ficou no VB....tenho que me actualizar nas tecnologias java) mas quem percebe podia ajudar, e como o ireport permite aceder ao codigo xml...
$F{TOTAL}.doubleValue() * 2
é diferente de
$F{TOTAL}.doubleValue * 2
Na verdade antes de responder aqui que não funciona, tentei as duas, daí ter pensado que estaria a trabalhar no sítio errado.
Também já tentei manipular variaveis. Mas devo ter problemas com a sintaxe. Eu preciso que a variavel assuma o valor do field "TOTAL" para depois o trabalhar....mas ainda não consegui
Vou fazer mais umas tentativas....
PS: Este relatório tem subreports lógicamente com passagem de parâmetros. Um desses parametros é uma data....eu achei que passar a data deu trabalho.....dassssss
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/07/2006 10:42:46
|
vonlinkerstain
JavaBaby
Membro desde: 04/03/2005 12:18:51
Mensagens: 96
Offline
|
O problema é que o seu ireport nao esta usando o jdk1.5 que tem o autoboxing. Por isso ele da erro, tenta modificar o seu compilador para o compilador do java 1.5, existe esta opcao lá em options>opcoes |Compilador|
|
Abraços
Dirceu Semighini Filho |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/07/2006 15:28:49
|
rflprp
GUJ Ranger
Membro desde: 27/04/2005 18:52:49
Mensagens: 822
Offline
|
vonlinkerstain wrote:O problema é que o seu ireport nao esta usando o jdk1.5 que tem o autoboxing. Por isso ele da erro, tenta modificar o seu compilador para o compilador do java 1.5, existe esta opcao lá em options>opcoes |Compilador|
Respondeu rápido hein uhehuehueuhe
|
|
|
 |
|
|