4

iReportを使用しており、 XML DataSourceを使用してサブレポートを作成する必要があります。

ホール レポート用の XML は 1 つだけです。このようなもの:

<question>
  <text>What do you think about SO?</text>
  <options>
    <option>Like it</option>
    <option>Really like it</option>
    <option>Love it</option>
  </options>
</question>

メイン レポートには質問にリンクされた詳細があり、各質問には多くのオプションがあります。各サブレポートは、質問のオプションにリンクする必要があります...まあ、マスター詳細です。

グーグルで見つけたのはSQLを使用することだけでした。 XPathを使用したいです。

4

2 に答える 2

2

JRXmlDataSource JavaDocを見てください。それがどのように行われたかを示す例があります。

于 2009-01-26T12:53:17.377 に答える
0

最初に xpath を使用してサブレポートをレポートとして作成します。次に、親レポートにサブレポート要素を作成し、サブレポートを親レポートにリンクします。以下はサブレポート要素のサンプルです。

<subreport>
    <reportElement x="0" y="20" width="555" height="100"/>
    <subreportParameter name="XML_DATE_PATTERN">
        <subreportParameterExpression><![CDATA[$P{XML_DATE_PATTERN}]]></subreportParameterExpression>
    </subreportParameter>
    <subreportParameter name="XML_DATA_DOCUMENT">
        <subreportParameterExpression><![CDATA[$P{XML_DATA_DOCUMENT}]]></subreportParameterExpression>
    </subreportParameter>
    <subreportParameter name="XML_LOCALE">
        <subreportParameterExpression><![CDATA[$P{XML_LOCALE}]]></subreportParameterExpression>
    </subreportParameter>
    <subreportParameter name="XML_NUMBER_PATTERN">
        <subreportParameterExpression><![CDATA[$P{XML_NUMBER_PATTERN}]]></subreportParameterExpression>
    </subreportParameter>
    <subreportParameter name="XML_TIME_ZONE">
        <expressionistic><![CDATA[$P{XML_TIME_ZONE}]]></subreportParameterExpression>
    </subreportParameter>
    <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
    <subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIRECTORY} + "PS_Product_Match.jasper"]]></subreportExpression>
</subreport>
于 2011-05-26T17:19:07.230 に答える