8

我正在尝试生成包含表格的报告。这些是 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>

我传递给报表的数据源类型是 JRBeanArrayDataSource,这似乎没问题,因为数据出现在报表中(如果我在主文件中使用 $F{field1} - 在表外)。

您是否发现我使用表格组件的方式有问题?我没有看到任何错误...但是表格没有显示...只有一条水平线而不是表格。

4

2 回答 2

7

我遇到了同样的问题,在这里找到了解决方案 https://web.archive.org/web/20111130110022/http://thilosdevblog.wordpress.com/2011/03/27/beans-in-jasperreports4/

表数据源必须是这样的:

<datasetRun subDataset="TableDataset">
    <datasetParameter name="REPORT_DATA_SOURCE">
       <datasetParameterExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></datasetParameterExpression>
    </datasetParameter>
</datasetRun>

想知道为什么这种东西不在 jasper/ireport 常见问题解答中!

于 2011-10-13T08:47:50.983 回答
0

好吧,我不能发表评论也不能投票,但我已经测试过并且可以确认@Flo 的答案可以正常工作。

编辑:缺少第一行。查看如何修复它:Jasper 报告缺少第一行JasperReports 教程:缺少记录错误

于 2015-06-17T14:18:29.633 回答