2010-12-30 28 views
7

Estoy intentando generar un informe que contenga una tabla. Estas son las partes importantes de la jrxml:Componente de la tabla Jasper

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

El tipo de fuente de datos que estoy pasando el informe es un JRBeanArrayDataSource, que parece estar bien, ya que los datos aparecen en el informe (si estoy usando $ F {campo1} en el maestro - fuera de la tabla).

¿Ve algo mal en la forma en que estoy usando el componente de la tabla? No veo ningún error ... pero la tabla no se muestra ... solo una línea horizontal en lugar de la tabla.

+0

No está claro cuál es el origen de datos, el BeanArray es el mismo que REPORT_DATA_SOURCE? – medopal

Respuesta

6

que tenían el mismo problema y encontrar la solución aquí https://web.archive.org/web/20111130110022/http://thilosdevblog.wordpress.com/2011/03/27/beans-in-jasperreports4/

la fuente de datos tabla tiene que ser así:

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

pregunto por qué este tipo de cómo las cosas no está en el Jasper/iReport FAQ !

+0

No tuve la oportunidad de probar su solución, pero esto funcionó para mí: 1) Envolvió el JRBeanArrayDataSource en un JRMapArrayDataSource 2) Lo desreferenciamos como un campo: 3) Lo usé así: . Su solución se siente correcta en comparación con esto, pero desafortunadamente no puedo confirmar que esté funcionando en mi caso particular. Describí mi solución como último recurso para que alguien se quede atascado en este problema. – teo

Cuestiones relacionadas