首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将CSV数据源传递给subReport

如何将CSV数据源传递给subReport
EN

Stack Overflow用户
提问于 2013-09-25 19:13:16
回答 1查看 1.8K关注 0票数 3

在将csv数据源传递给subReports时,我需要您的帮助。

我将非常感谢您的建议或解决方案。

我使用的是iReport 5.0专业版。

我有一个非常复杂的报告,该报告从多个csv文件中获取数据。

我已经为报告的每个部分创建了subReports,每个subReport都可以作为indivisual报告正常工作。

但是,当我试图将所有subReports集成到一个主要报告中时,我就无法将数据源传递给subReports。

在主报告中,我创建了一个名为net.sf.jasperreports.engine.data.JRCsvDataSource类型的CSVDS参数,其默认值为:new net.sf.jasperreports.engine.data.JRCsvDataSource(new File("D:\\client\\data\\SR1.csv")),为了确保CSVDS从SR1.CVS获得值,我添加了一个具有以下表达式的textbod,并返回true

$P{CVSDS}.next() --返回true --这意味着CSVDS从SR1.csv的数据中填充。

此外,我将$P{CVSDS}作为数据源传递给subReport。

代码语言:javascript
复制
<subreport>

<reportElement uuid="2f0d77ac-ce39-4487-8f31-0e15e03f5dfd" x="0" y="0" width="592" height="437"/>

<dataSourceExpression><![CDATA[$P{CSVDS}]]></dataSourceExpression>

<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "P1.jasper"]]></subreportExpression>

</subreport>

但subReports却是一片空白。

因此,总的来说,我想知道如何将csv数据源传递给subReports。

PS :我已经尝试了几乎所有可用的解决方案,在Stack溢出和Jasper社区网站,但没有对我有效。

EN

回答 1

Stack Overflow用户

发布于 2014-09-04 06:08:53

您需要将数据源表达式转换为正确的类型:

代码语言:javascript
复制
<subreport>

<reportElement uuid="2f0d77ac-ce39-4487-8f31-0e15e03f5dfd" x="0" y="0" width="592" height="437"/>

<dataSourceExpression><![CDATA[(net.sf.jasperreports.engine.data.JRCsvDataSource)$P{CSVDS}]]></dataSourceExpression>

<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "P1.jasper"]]></subreportExpression>

</subreport>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19013304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档