Pregunta

Estoy usando iReport y necesito crear un subinforme utilizando un XML DataSource .

Solo tendré un XML para el informe de agujeros. Algo como esto:

<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>

El informe principal tendrá sus detalles vinculados a las preguntas, cada pregunta tendrá muchas opciones. Cada subinforme debe estar vinculado a las opciones para la pregunta ... Bueno, detalle maestro.

Todo lo que pude encontrar en Google fue usar SQL , quiero usar XPath .

¿Fue útil?

Solución

Eche un vistazo a JRXmlDataSource JavaDoc . Hay ejemplos que muestran cómo se hace.

Otros consejos

Cree su subinforme como un informe primero con xpath. Luego, cree un elemento de subinforme en el informe principal y vincule el subinforme al informe principal. a continuación se muestra un elemento de subinforme de muestra:

<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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top