iReport - Print When Expression

Estou gerando um relatório com que contém dois tipos de informação numa mesma tabela. Uma informação é sinalizada pelo valor “T” numa flag e a outra informação é sinalizada pelo valor “E” numa flag. Eu queria separá-la em dois grupos, então gerei um grupo, coloquei os campos da tabela no Header do grupo, só que se eu gerasse o relatório iria trazer todas as informações no mesmo grupo, então eu coloquei esta expressão no Print When Expression dos campos:

Boolean.valueOf($F{FLAG}.equalsIgnoreCase(“T”))

E com isso funcionou. Só que eu queria colocar no Header do grupo para que separasse as labels e tudo mais que esta criado, então eu entrei no Report bands e coloquei esta mesma expressão no printWhen Expression do Header do grupo que eu criei e quando eu fui testar o relatório deu este erro:

[quote]Parse Fatal Error at line 49 column 8: The character sequence “]]>” must not appear in content unless used to mark the end of a CDATA section.

org.xml.sax.SAXParseException: The character sequence “]]>” must not appear in content unless used to mark the end of a CDATA section.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)

(JasperCompileManager.java:115)
at IReportCompiler.main(IReportCompiler.java:119)

NESTED BY :

dori.jasper.engine.JRException: The character sequence “]]>” must not appear in content unless used to mark the end of a CDATA section.

at dori.jasper.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:360)

at dori.jasper.engine.xml.JRXmlLoader.load(JRXmlLoader.java:340)


(JasperCompileManager.java:115)

at IReportCompiler.main(IReportCompiler.java:119)

Caused by: org.xml.sax.SAXParseException: The character sequence “]]>” must not appear in content unless used to mark the end of a CDATA section.

at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)

at org.apache.commons.digester.Digester.parse(Digester.java:1514)

at dori.jasper.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:356)

... 5 more

Abnormal termination!
[/quote]

Gostaria de saber se alguém tem uma solução para este meu caso ou sugere um novo jeito de fazer ?

Francisco Silva.

O certo é fazer por grupo mesmo, vc deve estar fazendo alguma coisa errada para não funcionar.

Então, eu estava querendo saber com eu faria isso por grupo …
Eu tenho que separar duas informações que estão no mesmo campo, por isso eu criei a flag.
Como eu poderia fazer isso por grupo como vc esta me dizendo ?

Obrigado por enquanto.

Vá Groups, crie um grupo novo, coloque o campo $F{FLAG} na expression e ordene o seu select pelo campo flag

Eu estava achando este jeito um pouco complicado de fazer, não estava conseguindo … Então eu usei o Subreport e consegui fazer o relatório.

Obrigado pela ajuda de todos.

galera…
alguém sabe me dizer se existe alguma função pra imprimir o campo só uma vez no Prin when expression?

por exemplo, se o campo já tiver sido impresso no subrelatório não ser impresso novamente.

desde já agradeço a atenção de todos

flws

NAO SEI SE ENTENDI BEM, MAS DESMARCA A OPÇÃO NA PROPRIEDADE DO CAMPO, PRINT REPEATED VALUES