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 FAQにないのか疑問に思います!

于 2011-10-13T08:47:50.983 に答える