Jasper table component
13,285
I had the same problem and found the solution here https://web.archive.org/web/20111130110022/http://thilosdevblog.wordpress.com/2011/03/27/beans-in-jasperreports4/
the table datasource has to be like this:
<datasetRun subDataset="TableDataset">
<datasetParameter name="REPORT_DATA_SOURCE">
<datasetParameterExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></datasetParameterExpression>
</datasetParameter>
</datasetRun>
Wonder why this kind how stuff is not in the jasper/ireport FAQ !
Comments
-
teo about 2 years
I am trying to generate a report containing a table. These are the important parts from the jrxml:
<jasperReport <subDataset name="Table Dataset 1"> <field name="field1" class="java.lang.String"/> </subDataset> <summary> <jr:table> <datasetRun subDataset="Table Dataset 1"> <dataSourceExpression> <![CDATA[$P{REPORT_DATA_SOURCE}]]> </dataSourceExpression> </datasetRun> <jr:column width="90"> <jr:columnHeader>...</jr:columnHeader> <jr:detailCell height="20"> <textField> <textFieldExpression class="java.lang.String"> <![CDATA[$F{territory}]]> </textFieldExpression> </textField> </jr:detailCell> </jr:column> <jr:table> </summary> </jasperReport>
The type of datasource I am passing to the report is a JRBeanArrayDataSource, which seems to be ok, because the data appears in the report (if I am using $F{field1} in the master - outside the table).
Do you see something wrong in the way I am using the table component? I don't see any errors...but the table is not being displayed...only a horizontal line instead of the table.
-
teo over 11 yearsI didn't have the chance to test your solution, but this worked for me: 1) Wrapped the JRBeanArrayDataSource into a JRMapArrayDataSource 2) I dereferenced it as a field: <field name="filterDataSource" class="...JRBeanArrayDataSource" /> 3)Used it like this: <datasetRun ..> <dataSourceExpression> <![CDATA[$F{filterDataSource}]] </dataSourceExpression>. Your solution feels right compared to this, but unfortunately I cannot confirm it to be working in my particular case. I described my workaround as a last resort for anyone getting stuck on this problem.