miércoles, 6 de agosto de 2014

Jasper Report


Algunos trucos:


* Expresion condicional:


    <textFieldExpression class="java.lang.String">
            <![CDATA[ ($F{nameField}.length() >  9)?
 $F{nameField} : " bla , bla"]]>
    </textFieldExpression>

* Salto de linea de un String  opcion A:
      Podemos mandarle un parametro con String que ya contenga un salto de   linea:

       Java:
       string  cadena1 = "bla bla " +  "\n" ; 
       string  cadena2 = "nanana" +  "\n" + cadena1;     
 
       jrxml:
    <textFieldExpression class="java.lang.String">
               <![CDATA[$F{cadena2}]]>
    </textFieldExpression>


* Salto de linea de un String  opcion B:
    O podemos hacerlo desde el jrxml:


       Java:
       string  cadena1 = "bla bla "; 
       string  cadena2 = "nanana" ;     
 
       jrxml:

    <textFieldExpression class="java.lang.String">
               <![CDATA[$F{cadena1} + "\n" + $F{cadena2}]]>
    </textFieldExpression>



Algunas propiedades:


* Que el texto que sobrepasa el ancho del campo, baje de linea:

    <textField isStretchWithOverflow="true">
            ...
    </textField>

*  Que el mismo valor en DISTINTAS filas se imprima:

      isPrintRepeatedValues="true"

* Quitar un elemento una posicion fija y que se posicione segun el contenido de alrededor:

positionType="Float"


* Para que no haga paginado en el reporte (especialmente cuando generamos .xls o .csv):
  
 parameters.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);

Nota: "parameters" es la lista de parametros que enviamos cuando instanciamos el JasperReport dentro de la aplicacion.

* Para verificar si es par la columna. ¿Para que nos serviria esto? Por ejemplo para sombrear las columnas pares de una manera  y las impares de otra.

 Boolean.valueOf( ($V{COLUMN_COUNT}.intValue() %  2) == 0)








No hay comentarios:

Publicar un comentario