How to use table component added to JasperReports 3.7.2 with grails jasper plugins?
grails, grails-plugin, ireport, jasper-reports
Solution
Here is the solution :
Keep :
<subDataset name="Table Dataset 1">
<field name="name" class="java.lang.String"/>
<field name="signal" class="java.lang.Double"/>
...
</subDataset>
and use :
<dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>
Table component will now use your actual dataSource (your MODEL_DATA) !
Problem
I would like to use new table component added to JasperReports 3.7.2 with grails jasper plugins. I find this new component useful to generate tables. I have define Table dataset 1, and some fields (ex : $F{name}), problem, all my fields values are null. I have also define fields (not attached with table), and I get values. Here is my table code : ``` <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> ... ``` I guess, my problem is due to this part (I'm using JREmptyDataSource) : ``` <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource(1)]]></dataSourceExpression> ``` But how can I get my `<MODEL_DATA>` with Table component ? (eg : chain(controller:'jasper',action:'index',model:[data:`<MODEL_DATA>`],params:params))