我有一个JasperReport在那里我通过报告日期从一个主要报告到一个子报告。这工作正常。我也有另一个地方,我将相同的参数传递给具有多个子报表的子报表。当我在Ireports中预览它时,它的所有页面都显示为空白,这意味着子子报表正在被调用,但由于所有子子报表SQL都以报表日期为条件,报表日期未被传递。我怎样才能得到报告日期字段的子分报告?当我预览SubReport并输入报告日期时,所有报告日期都会使用正确的数据填充所有四个页面。从JasperReport参数从主报告传递到子报告
14
A
回答
13
我的猜测是他们正在使用默认值。
假设参数在主报告的名称是TEST_DATE
和小组报告的名称是TEST_DATE2
,那么你需要添加开口之间以下并在XML关闭subreport
元素:
<subreportParameter name="TEST_DATE2">
<subreportParameterExpression><![CDATA[$P{TEST_DATE}]]></subreportParameterExpression>
</subreportParameter>
为了完整起见,以下是一个包含主报告和子报告的示例,只需将SUBREPORT_DIR
的值更改为指向您放置的位置即可。
report1.jrxml
<?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="report1" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="7e2bc622-d768-437e-8c33-fc777bc06f8c">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<parameter name="TEST_DATE" class="java.util.Date"/>
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA["C:\\Reports\\"]]></defaultValueExpression>
</parameter>
<pageHeader>
<band height="83" splitType="Stretch">
<textField>
<reportElement uuid="4a2cf434-4473-48db-a89f-17a19d25cc4c" x="0" y="0" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$P{TEST_DATE}]]></textFieldExpression>
</textField>
<subreport>
<reportElement uuid="54c02e96-6d47-49db-9b9c-58e1dd153242" x="0" y="30" width="200" height="35"/>
<subreportParameter name="TEST_DATE2">
<subreportParameterExpression><![CDATA[$P{TEST_DATE}]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "report1_subreport1.jasper"]]></subreportExpression>
</subreport>
</band>
</pageHeader>
</jasperReport>
report1_subreport1.jrxml
<?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="report1_subreport1" language="groovy" pageWidth="200" pageHeight="35" whenNoDataType="AllSectionsNoDetail" columnWidth="200" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="3cedac90-63cb-43cb-9d0f-e401543e65dd">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<parameter name="TEST_DATE2" class="java.util.Date" isForPrompting="false"/>
<pageHeader>
<band height="35" splitType="Stretch">
<textField>
<reportElement uuid="ca7f3da6-79f0-4d95-92db-6c5dbf777df9" x="0" y="15" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$P{TEST_DATE2}]]></textFieldExpression>
</textField>
</band>
</pageHeader>
</jasperReport>
23
按照以下步骤将参数传递到子报告:
- 创建主报表参数,例如作为
DATE_PARAM
。 - 打开子报告并创建一个具有相同名称和相同类型的参数。
- 回到主报告
- 在子报告单击鼠标右键,选择属性
- 选择参数
- 从主报表添加参数与参数名称相同的参数名称
参数子报告从主报告传递到子报表。
11
如果您正在使用iReport创建报表然后打开iReport的主报告并选择Subreport
并转到报告property
部分,单击Parameters
属性,然后单击Copy from master
标签。从那里你可以选择你想传递给子报告的参数。
相关问题
- 1. 从主报告传递参数到子报告
- 2. 将参数从主报告传递到子报告
- 3. 将参数从主报告传递到RDLC中的子报告
- 4. 从主报告传递参数到一个子报告
- 5. 如何将参数从主报告传递给子报告
- 6. 如何将参数从主报告传递给子报告?
- 7. JasperReport传递页码到子报告
- 8. JasperReports子报表不显示参数从主报告传递
- 9. 如何将参数从一个子报告传递到另一个子报告
- 10. 在主报告表参数传递到子报表
- 11. 传递子报表值主报告
- 12. 主报告中的子报告 - iReport4.5.1和JasperReport 4.5
- 13. 在JasperReport的主报告中添加子报告
- 14. 将JRBeancollection数据库传递给主报告和子报告
- 15. Reportico - 报告参数传递
- 16. 如何将Crystal Reports参数从主报告获取到所有子报告?
- 17. 从主报告传递参数到钻取SQL Server报表生成器3.0
- 18. 访问报告传递参数到子报表查询
- 19. 从子报告
- 20. 如何从主水晶报告的SubReport中传递参数?
- 21. 如何从主报告将值作为参数给子报表
- 22. 将参数传递给SSRS中的报告但没有报告
- 23. Crystal Reports:在主要报告中使用子报告参数值
- 24. 主报告中的子报告
- 25. VBA代码引用从主要报告访问子报告
- 26. 从jsf传递参数到bi发布者报告
- 27. 将参数从SL报告传递到Reporting Services
- 28. 从oracle sql到水晶报告传递日期参数
- 29. Jasper -Java.util.collection参数从主要到子报告
- 30. Japerreport/ireport如何将参数从主报告传递到数据集
哇!它真的起作用了!非常感谢 – Gray