when print not ejemplos jasper-reports

jasper reports - not - Cómo usar printWhenExpression en JasperReports



ireport print when expression not null (4)

¿Alguien puede decirme cómo usar printWhenExpression de JasperReports?


$ P {mesure} .equals ("200") debería funcionar sin ningún detalle adicional. Se imprimirá si la condición es verdadera


El otro afiche ha hecho un buen trabajo al explicar los detalles técnicos de cómo usarlo, así que intentaré explicar las circunstancias en las que uno podría encontrarlo útil.

Básicamente, le permite mostrar u ocultar el contenido de una celda en función de una expresión booleana. Por ejemplo, es posible que desee mostrar el nombre de una persona solo si esa persona tiene más de 18 años, luego en el campo de nombre, usando una impresión con una expresión como:

$F{age} >= 18


También puede usar el método estático "Boolean.valueOf (boolean b)". Tiene exactamente la misma lógica que "($ F {mesure} .startsWith (" PH ")? Boolean.TRUE: Boolean.FALSE)" y la buena regla general es no recrear la rueda.

Boolean.valueOf ($ F {mesure} .startsWith ("PH"))

Boolean.valueOf ($ F {userfd4}). Equals ("1"))


¿Tiene un error relativo a boolean?

Porque necesita usar Boolean en lugar del tipo primitivo.

Asi que:

$F{mesure} != "PH" ($F{userfd4}).equals("1") ? true : false

daría cannot cast from boolean to Boolean .

( $F{mesure}.startsWith("PH") ? Boolean.TRUE:Boolean.FALSE ) ($F{userfd4}).equals("1") ? Boolean.TRUE : Boolean.FALSE

sería correcto

Ver también este ejemplo

Actualización noviembre de 2015 (7 años después)

Petter Friberg señala en los comentarios :

En jasper informe 6.0 esto no es necesario:
Puedes devolver tanto boolean como Boolean una expresión simple como $F{fieldName}.equals("hello") funcionará.