我有一个主报告,它在详细信息带中查询数据库中的项目列表,另一个详细信息带包含一个子报告,为每个记录呈现一次。我希望这第二个细节带只能在它的子报告不是空的时候呈现。
我试图将子报表中的REPORT_COUNT转换为返回变量,并将print when expression
参数设置为$v{SUBREPORT_ITEMS_ROW_COUNT}!=null&&$v{SUBREPORT_ITEMS_ROW_COUNT}>0
,但是看起来返回变量是在带区呈现后计算出来的,因此即使正确返回也看不到变量。
我还能做什么?
这里的更新是主报告的JRXML:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.1.0.final using JasperReports Library version 6.1.0 -->
<!-- 2016-01-21T10:03:49 -->
<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="PlanoDeContasDetalhado" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="9fa6ae6c-0db5-4324-a65d-f0d61a8f30bb">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="SCA Banco de dados bagual"/>
<style name="NIVEL">
<conditionalStyle>
<conditionExpression><![CDATA[$F{PLCTA15COD}.trim().length() == 1]]></conditionExpression>
<style mode="Opaque" backcolor="#CFCFCF" fontSize="15" isBold="true" isItalic="true"/>
</conditionalStyle>
</style>
<parameter name="EMPRICOD" class="java.lang.Integer"/>
<parameter name="ID_SETOR" class="java.lang.Integer"/>
<parameter name="CAMPO_DATA" class="java.lang.String"/>
<parameter name="DATA1" class="java.util.Date"/>
<parameter name="DATA2" class="java.util.Date"/>
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA["C:\\Users\\Mateus\\Documents\\NetBeansProjects\\AtualyRelatorios\\jasper\\"]]></defaultValueExpression>
</parameter>
<parameter name="CON_ITENS" class="java.sql.Connection" isForPrompting="false"/>
<queryString>
<![CDATA[select
plcta15cod,
plcta30codedit,
plcta60descr
from planodecontas
order by plcta15cod]]>
</queryString>
<field name="PLCTA15COD" class="java.lang.String"/>
<field name="PLCTA30CODEDIT" class="java.lang.String"/>
<field name="PLCTA60DESCR" class="java.lang.String"/>
<title>
<band height="82" splitType="Stretch">
<staticText>
<reportElement x="0" y="0" width="510" height="26" uuid="2fa3702f-ff66-41a6-81e9-7dbbbd791233"/>
<textElement verticalAlignment="Bottom">
<font size="18" isBold="true"/>
</textElement>
<text><![CDATA[Detalhamento do plano de contas]]></text>
</staticText>
<staticText>
<reportElement x="0" y="26" width="510" height="15" uuid="f23a5d3d-a05d-4e9c-9053-492e635cde26"/>
<textElement>
<font size="11" isBold="false"/>
</textElement>
<text><![CDATA[Receitas & Despesas]]></text>
</staticText>
</band>
</title>
<detail>
<band height="18" splitType="Stretch">
<textField>
<reportElement style="NIVEL" x="0" y="0" width="80" height="18" uuid="2db15faa-e12e-4fc3-a5ae-956d454e50da"/>
<textElement verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{PLCTA30CODEDIT}]]></textFieldExpression>
</textField>
<textField>
<reportElement style="NIVEL" x="80" y="0" width="475" height="18" uuid="bbcbea9e-2b83-4cd5-aa1e-2daea32f33a0"/>
<textElement verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{PLCTA15COD}.trim().replaceAll(".","-")
+ $F{PLCTA15COD}.trim().replaceAll(".","-")
+ $F{PLCTA60DESCR}]]></textFieldExpression>
</textField>
</band>
<band height="4">
<subreport>
<reportElement x="-20" y="0" width="595" height="4" uuid="572867ad-8bb8-4664-9ae9-a1120c102430"/>
<subreportParameter name="EMPRICOD">
<subreportParameterExpression><![CDATA[$P{EMPRICOD}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="ID_SETOR">
<subreportParameterExpression><![CDATA[$P{ID_SETOR}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="CAMPO_DATA">
<subreportParameterExpression><![CDATA[$P{CAMPO_DATA}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="DATA1">
<subreportParameterExpression><![CDATA[$P{DATA1}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="DATA2">
<subreportParameterExpression><![CDATA[$P{DATA2}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="PLCTA15COD">
<subreportParameterExpression><![CDATA[$F{PLCTA15COD}]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "PlanoDeContasDetalhadoItens.jasper"]]></subreportExpression>
</subreport>
</band>
</detail>
</jasperReport>
您正在尝试创建主详细信息报告吗?如果是(我不知道我是否误解了您的问题,但这就是我的答案):我曾经将子报表放在相同的频带(详细信息)中,并将主参数传递给子报表,然后将其传递到子报表中,查询将使用它,因此如果主参数不在主查询中,它将不会在子报表中显示任何内容。我希望这对你有用。
我目前的技能只能通过使用JRBeanCollectionDataSource(list)作为数据源,在不使用子报表的情况下制作pdf。(数据打印成功) 谁能告诉我如何制作包含多个子报表的pdf报表,主jrxml文件和子报表jrxml文件中应该包含哪些内容,以及java代码中应该包含哪些内容?以及如何使用多个JRBeanCollectionDataSource(列表)?我唯一知道的是使用Map pa
我已经创建了一个Jasper报告,我正试图将报告集成到主报告中。我可以按原样填充子报表中的数据,但如果我将其集成到主报表中,我就不能呈现我在子报表中呈现的数据。事实上,我在集成子报表的地方得到了空白。
是否有任何缓存或某种设置在jasper或类似的东西?
我有一个要转换成CSV格式的XML。我使用Jasper Reports来转换它,并使用Jasper Studio来设计JRXML。 这是XML: 我希望CSV格式包含以下列: fields_exitence分为3个(nonMap、ux和两者),属性在
我的主报告中有一个子报告。这在细节栏中。问题是它只针对主报告的第一条记录运行。我希望它能为所有细节乐队的唱片播放。它不会显示在其他页面上。为了运行它,我传递了一个sql查询参数,该参数为详细信息带提供信息。 这是jrxml的主报告: 子报表 jrxml:
首先,我搜索并找到了一些类似的主题以获得答案。问题是这些建议都不适合我…让我解释一下我的情况。 我有一个包含子报表的主报表。主报告从CSV文件检索数据,从Oracle数据库检索子报告。我做了一个Oracle DataAdapTer。我使用TIBCO JasperSoft Studio,因为iReport不知道jdbc。神谕 正如您在第一张图片中所说的,我希望在主报表中包含子报表。为此,我尝试设置这