Диаграмма повторяется много раз - PullRequest
7 голосов
/ 08 июля 2011

Я сгенерировал отчет (с помощью JasperReport). Моя проблема в том, что график повторяется, у меня есть один график, а отчет содержит 22 страницы! В чем проблема?

Это мой отчет:

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

Обновление Я решил проблему, переместив диаграмму в итоговую часть:)

Ответы [ 3 ]

17 голосов
/ 12 июля 2011

В отчете Jasper все, что вы помещаете в детальную полосу, повторяется столько раз, сколько она появляется в источнике.

Если вы хотите показать что-либо (не только график) только один раз, избегайте детальной полосы.Например, вы можете поместить его в сводный раздел.

Обновление: Как указали другие, я немного расширил свой ответ.

6 голосов
/ 19 июля 2012

У меня тоже была такая же проблема, как и раньше.Это потому, что ваши данные будут зациклены, что приводит к такой избыточности данных.Что вам нужно сделать, это перейти к ' Печать при выражении ' в свойствах и установить переменный счетчик отчетов равным 1. Вот как это выглядит $V{REPORT_COUNT}==1.Он будет отображаться только один раз в вашем отчете.

1 голос
/ 30 июля 2013

Я использую $V{PAGE_NUMBER} == 1 в качестве значения 'Печатать при выражении' , поэтому он вынужден появляться только на первой странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...