2010-12-30 8 views
7

Ich versuche, einen Bericht mit einer Tabelle zu generieren. Dies sind die wichtige Teile aus dem jrxml:Jasper-Tabelle Komponente

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

Die Art der Datenquelle ich den Bericht bin vorbei ist ein JRBeanArrayDataSource, das in Ordnung zu sein scheint, da die Daten im Bericht angezeigt wird (wenn ich bin mit $ F {field1} im Master - außerhalb der Tabelle).

Sehen Sie etwas falsch in der Art, wie ich die Tischkomponente verwende? Ich sehe keine Fehler ... aber die Tabelle wird nicht angezeigt ... nur eine horizontale Linie anstelle der Tabelle.

+0

Es ist nicht klar, welche Datenquelle, das BeanArray ist das gleiche wie REPORT_DATA_SOURCE? – medopal

Antwort

6

hatte ich das gleiche Problem und die Lösung hier https://web.archive.org/web/20111130110022/http://thilosdevblog.wordpress.com/2011/03/27/beans-in-jasperreports4/

der Tabelle Datenquelle wie folgt gefunden werden muss:

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

Wonder, warum diese Art, wie Sachen in der Jaspis/iReport FAQ ist nicht !

+0

Ich hatte nicht die Möglichkeit, Ihre Lösung zu testen, aber das funktionierte für mich: 1) Wrapped die JRBeanArrayDataSource in eine JRMapArrayDataSource 2) Ich dereferenziert es als ein Feld: 3) Es wurde wie folgt verwendet: . Ihre Lösung fühlt sich im Vergleich dazu richtig an, aber ich kann leider nicht bestätigen, dass sie in meinem speziellen Fall funktioniert. Ich habe meinen Workaround als letzten Ausweg beschrieben, wenn jemand an diesem Problem festhält. – teo

Verwandte Themen