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 tantoboolean
comoBoolean
una expresión simple como$F{fieldName}.equals("hello")
funcionará.