Hi , It's been a while since then, but I recall: 1) wrapping the JRBeanArrayDataSource into a JRMapArrayDataSource, like this : Map[] masterData = new Map[1]; masterData[0] = new HashMap(); masterData[0].put("filterDataSource", filterDataSource); //I had other similar dataSources and then created and passed the data source like this: new JRMapArrayDataSource(masterData) 2) The, in the jrxml file, I replaced the $P{REPORT_DATA_SOURCE} with $F{filterDataSource}. Something like this: <subDataset name="filterDataSet"> <field name="territory" class="java.lang.String"/> </subDataset> <field name="filterDataSource" class="net.sf.jasperreports.engine.data.JRBeanArrayDataSource"/> and in the table: <jr:table> <datasetRun subDataset="filterDataSet"> <dataSourceExpression><![CDATA[$F{filterDataSource}]]></dataSourceExpression> </datasetRun> <jr:column width="90"> <jr:columnHeader style="table_CH" height="30"> <staticText> <reportElement x="0" y="0" width="90" height="30"/> <text><![CDATA[Territory]]></text> </staticText> </jr:columnHeader> <jr:detailCell style="table_TD" height="20"> <textField> <reportElement x="0" y="0" width="90" height="20"/> <textFieldExpression class="java.lang.String"><![CDATA[$F{territory}]]></textFieldExpression> </textField> </jr:detailCell> </jr:column> </jr:table> I don't know whether this is the "orthodox" solution for this, but it worked for me. Also, i posted this question on stackoverflow as well (http://stackoverflow.com/questions/4563176/jasper-table-component), and someone seems to have found the answer: <datasetRun subDataset="TableDataset"> <datasetParameter name="REPORT_DATA_SOURCE"> <datasetParameterExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></datasetParameterExpression> </datasetParameter> </datasetRun>[/code] But I haven't tested this (since it came a bit too late), but maybe it works for you. Hope this helps! Teo Post Edited by teodanciu at 07/10/2012 19:59