Para emplear condicionales en una plantilla de Jasper, se puede usar cualquier campo. En caso de querer utilizar un boolean, habría que añadirle al final del nombre del campo "_boolean". Es decir, "<metadata_name>_boolean".
Para crear la condición hay que usar la siguiente estructura:
(condition) ? "value_if_true" : "value_if_false"
Por ejemplo, una plantilla muy básica de Jasper con una condición y un boolean podría ser la siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.6.0.final using JasperReports Library version 6.6.0 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="axa-soat" pageWidth="612" pageHeight="792" columnWidth="572" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="b61e5225-424a-4108-900b-a1114c933e56">
<parameter name="<metadata_name>_boolean" class="java.lang.Boolean"/>
<detail>
<band height="128">
<textField>
<reportElement x="9" y="90" width="265" height="35" uuid="b27d51ca-bc73-4708-af4a-d9060e3410d1"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[($P{<metadata_name>_boolean}) ? "verdadero" : "falso"]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
En este ejemplo, si el campo es verdadero, se mostrará en la plantilla "verdadero", y si es falso, se mostrará "falso". Para las condiciones, también se puede usar el operador ".equals()". Por ejemplo:
($P{<metadata_name>}.equals("test")) ? "test_true" : "test_false"
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.