grails - 如何使用 grails jasper 插件使用添加到 JasperReports 3.7.2 的表格组件?

标签 grails jasper-reports ireport grails-plugin

我想使用添加到 JasperReports 3.7.2 的新表组件和 grails jasper 插件。我发现这个新组件对于生成表格很有用。

我已经定义了表数据集 1 和一些字段(例如:$F{name}),问题是,我的所有字段值都为空。我还定义了字段(未附表),并获得值。

这是我的表代码:

<subDataset name="Table Dataset 1">
    <field name="name" class="java.lang.String"/>
    <field name="signal" class="java.lang.Double"/>
    ...
</subDataset>

<componentElement>
<reportElement key="table" style="table" x="0" y="0" width="802" height="50"/>
<jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<datasetRun subDataset="Table Dataset 1">
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource(1)]]></dataSourceExpression>
</datasetRun>
<jr:column width="90">
<jr:columnHeader style="table_CH" height="30" rowSpan="1">
<staticText>
<reportElement x="0" y="0" width="90" height="30"/>
<textElement/>
<text><![CDATA[Name]]></text>
</staticText>
</jr:columnHeader>
<jr:detailCell style="table_TD" height="20" rowSpan="1">
<textField>
<reportElement x="0" y="0" width="90" height="20"/>
<textElement/>
<textFieldExpression class="java.lang.String"><![CDATA[$F{name}]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
    ...

我想,我的问题是由于这部分(我使用的是 JREmptyDataSource):
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource(1)]]></dataSourceExpression>

但是我怎样才能得到我的 <MODEL_DATA>与表组件?
(例如:chain(controller:'jasper',action:'index',model:[data: <MODEL_DATA>],params:params))

最佳答案

这是解决方案:

保持 :

<subDataset name="Table Dataset 1">
    <field name="name" class="java.lang.String"/>
    <field name="signal" class="java.lang.Double"/>
    ...
</subDataset>

并使用:
<dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>

表组件现在将使用您的实际数据源(您的 MODEL_DATA)!

关于grails - 如何使用 grails jasper 插件使用添加到 JasperReports 3.7.2 的表格组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2722941/

相关文章:

java - 如何在不执行另一个查询的情况下获得图表中的不同计数?

grails - 在 Grails 中,如何从 g :select 调用 Controller 操作

grails - 如何安装 grails 项目

jasper-reports - 如何配置iReport 3.5以实现JasperReports与较低版本的兼容性?

sql - 在 iReport 中合并相同的单元格

jasper-reports - Jasper 报告中的 "No data found."文本

jasper-reports - iReport 中的子数据集

jasper-reports - 在 iReport 中用逗号分割字段

grails - <g:checkBox>单击调用 Controller 功能

hibernate - 限制不同查询返回的结果