iReport 0.4.0 - duas duvidas

ola pessoal, consegui fazer um relatorio, hehe
estou indo pro segundo (utilizo o postgresql)
mas alguns problemas

  1. como eu faco para fazer uma ‘formula’ textfield expression
    *tipo do campo inteiro
    if ($F{campo}.intValue() > 50{
    50;
    } else {
    $F{campo};
    naum deu certo.

  2. outro problema eh quando incluo no relatorio na band details um campo tipo time, deixo configurado como os outros e me da o seguinte erro.
    Compiling to file… /home/darlan/workspace/relatorio/ponto_funcionario.jasper -> /home/darlan/workspace/relatorio/ponto_funcionario.java Errors compiling /home/darlan/workspace/relatorio/ponto_funcionario.jasper! 9881462 [Thread-574] ERROR digester.Digester - Parse Error at line 313 column 128: Attribute “evaluationTime” with value “now” must have a value from the list "Now Report Page Column Group ". org.xml.sax.SAXParseException: Attribute “evaluationTime” with value “now” must have a value from the list "Now Report Page Column Group ". at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.validateDTDattribute(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.addDTDDefaultAttrsAndValidate(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.commons.digester.Digester.parse(Digester.java:1514) at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:400)

  1. Use o operador ternário
( $F{Campo}.intValue() > 50 ) ? new Integer( 50 ) : $F{Campo}
  1. Basta ler a exceção com carinho
Attribute "evaluationTime" with value "now" must have a value from the list "Now Report Page Column Group "
$F{campo} .intValue() > 50 ? new Integer(50) : $F{campo}.

Um coisa que sempre faço é colocar todos os campos como Strings, pois facilita bastante na hora de colocar fómulas.

Com relação a segunda dúvida, caso vc siga a dica que eu te dei acima, não passará por esse tipo de erro, pois no seu relatorio não terá campo do tipo time !!

blz ?/

ola pessoal,
valews pelas dicas…

em relação a segunda duvida, acabei criando atraves do botao simbolo(F) naum lembro o nome agora e atribuindo o campo a ele, assim resolveu o problema.
tambem ja tinha lido o erro. e setei como Now o evaluationTime, assim como os outros (ja tenho outros campos no relatorio)
mas mesmo assim naum funcionou

Abraços e valews!! :-o
grato!!