Pessoal, boa tarde…
Estou tentando fazer algo que parece ser tão simples mas não estou conseguindo, preciso que em um relatório principal exista um parâmetro booleano, e que esse valor seja passado para um parâmetro no sub report (onde vou usá-lo). Acontece que quando faço, parece que nada é enviado e por isso não funciona. Abaixo o código do jasper e os passos que executei (os programas são de testes simples, o original é maior mas tem a mesma idéia)
Sub report
<?xml version="1.0" encoding="UTF-8"?>
<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="report2_subreport1" language="groovy" pageWidth="555" pageHeight="802" columnWidth="555" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<parameter name="observacaoCurso" class="java.lang.String"/>
<parameter name="emiteAssinatura" class="java.lang.Boolean">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<background>
<band splitType="Stretch"/>
</background>
<detail>
<band height="125" splitType="Stretch">
<textField>
<reportElement x="40" y="0" width="458" height="48"/>
<textElement>
<font size="14"/>
</textElement>
<textFieldExpression><![CDATA[$P{emiteAssinatura}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="40" y="77" width="458" height="48"/>
<textElement>
<font size="14"/>
</textElement>
<textFieldExpression><![CDATA[$P{observacaoCurso}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
report principal
<?xml version="1.0" encoding="UTF-8"?>
<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="report2" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA["D:\\\\"]]></defaultValueExpression>
</parameter>
<parameter name="observacaoCurso" class="java.lang.String"/>
<parameter name="emiteAssinatura" class="java.lang.Boolean">
<defaultValueExpression><![CDATA[true]]></defaultValueExpression>
</parameter>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="128">
<subreport>
<reportElement key="zica" x="0" y="0" width="555" height="97"/>
<subreportParameter name="observacaoCurso">
<subreportParameterExpression><![CDATA[$P{observacaoCurso}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="emiteAssinatura">
<subreportParameterExpression><![CDATA[$P{emiteAssinatura}]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[]]></connectionExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "report2_subreport1.jasper"]]></subreportExpression>
</subreport>
<staticText>
<reportElement x="32" y="105" width="237" height="20"/>
<textElement/>
<text><![CDATA[Static text]]></text>
</staticText>
</band>
</title>
</jasperReport>
Como podem ver eu tenho no relatório principal a passagem de dois parâmetros para o subreport via mapeamento (feito isando ireport), quando executo coloco true e um texto qualquer para os dois campos, e eles deveriam ser impressos na parte do sub report, mas não funciona, fica branco.
saberiam dizer se tem que fazer algo além do mapeamento? todos os sites que achei só falam dele
sds