2011-07-08 44 views
7

He generado un informe (con JasperReport). Mi problema es que la tabla se repite, tengo una tabla y el informe contiene 22 páginas. ¿Cuál es el problema?La tabla se repite muchas veces

Este es mi informe:

<?xml version="1.0" encoding="UTF-8"?> 
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report2" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"> 
<property name="ireport.zoom" value="1.0"/> 
<property name="ireport.x" value="0"/> 
<property name="ireport.y" value="0"/> 
<subDataset name="New Dataset 1"> 
    <parameter name="SQL" class="java.lang.String"/> 
    <parameter name="Titre" class="java.lang.String"> 
     <defaultValueExpression><![CDATA[]]></defaultValueExpression> 
    </parameter> 
    <queryString> 
     <![CDATA[$P!{SQL}]]> 
    </queryString> 
    <field name="nb" class="java.lang.Long"/> 
    <field name="champ1" class="java.lang.String"/> 
    <field name="champ2" class="java.lang.String"/> 
</subDataset> 
<parameter name="SQL" class="java.lang.String"> 
    <defaultValueExpression><![CDATA[]]></defaultValueExpression> 
</parameter> 
<parameter name="Titre" class="java.lang.String"/> 
<queryString> 
    <![CDATA[select id from jiraissue]]> 
</queryString> 
<field name="id" class="java.math.BigDecimal"/> 
<background> 
    <band splitType="Stretch"/> 
</background> 
<title> 
    <band height="46" splitType="Stretch"> 
     <textField> 
      <reportElement x="89" y="15" width="180" height="20"/> 
      <textElement/> 
      <textFieldExpression class="java.lang.String"><![CDATA[$P{Titre}]]></textFieldExpression> 
     </textField> 
    </band> 
</title> 
<pageHeader> 
    <band height="35" splitType="Stretch"/> 
</pageHeader> 
<columnHeader> 
    <band height="13" splitType="Stretch"/> 
</columnHeader> 
<detail> 
    <band height="185" splitType="Stretch"> 
     <stackedBar3DChart> 
      <chart> 
       <reportElement x="57" y="16" width="420" height="165"/> 
       <chartTitle/> 
       <chartSubtitle/> 
       <chartLegend/> 
      </chart> 
      <categoryDataset> 
       <dataset> 
        <datasetRun subDataset="New Dataset 1"> 
         <datasetParameter name="SQL"> 
          <datasetParameterExpression><![CDATA[$P{SQL}]]></datasetParameterExpression> 
         </datasetParameter> 
         <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
        </datasetRun> 
       </dataset> 
       <categorySeries> 
        <seriesExpression><![CDATA[$F{champ2}]]></seriesExpression> 
        <categoryExpression><![CDATA[$F{champ1}]]></categoryExpression> 
        <valueExpression><![CDATA[$F{nb}]]></valueExpression> 
       </categorySeries> 
      </categoryDataset> 
      <bar3DPlot> 
       <plot/> 
       <itemLabel color="#000000" backgroundColor="#FFFFFF"/> 
       <categoryAxisFormat> 
        <axisFormat> 
         <labelFont/> 
         <tickLabelFont/> 
        </axisFormat> 
       </categoryAxisFormat> 
       <valueAxisFormat> 
        <axisFormat> 
         <labelFont/> 
         <tickLabelFont/> 
        </axisFormat> 
       </valueAxisFormat> 
      </bar3DPlot> 
     </stackedBar3DChart> 
    </band> 
</detail> 
<columnFooter> 
    <band height="24" splitType="Stretch"/> 
</columnFooter> 
<pageFooter> 
    <band height="20" splitType="Stretch"/> 
</pageFooter> 
<summary> 
    <band height="22" splitType="Stretch"/> 
</summary> 

actualización He resuelto el problema al mover el gráfico a la parte de sumario :)

+0

Si entiendo bien su pregunta, desea mostrar la tabla solo una vez. Si es así, coloque su tabla dentro de la etiqueta de resumen de etiqueta en lugar de la etiqueta de datos. – lkdg

+0

@ lkdg, gracias :) – rym

Respuesta

16

En Jasper Report, todo lo que el lugar en la banda de detalles se repite la cantidad de veces que aparece en la fuente.

Si desea mostrar algo (no solo el gráfico) una sola vez, evite la banda de detalles. Por ejemplo, puede colocarlo en la sección de resumen.

Actualización: Como otros señalaron, he extendido mi respuesta un poco.

+0

Esto no es tan intuitivo desde el punto de vista del usuario final. Luché con esto por unas pocas horas primero, confirmando que mover la tabla a la sección RESUMEN resuelve el problema de repetición. – AlexVPerl

5

También tuve la cara con el mismo problema como este antes. Es porque sus datos serán enlazados lo que causa tal redundancia de datos. Lo que necesita hacer es ir a 'Imprimir cuando la expresión' en las propiedades y establecer el recuento de informes variables a 1. Así es como se ve, $V{REPORT_COUNT}==1. Se mostrará solo una vez en su informe.

1

Uso $V{PAGE_NUMBER} == 1 como valor de 'Imprimir cuando expresión' por lo que está obligado a aparecer solo en la primera página.

Cuestiones relacionadas