charts - iReport 中的 Jasper Report 图表重复

标签 charts jasper-reports ireport

我在 iReport 中有一个线图,它在每个页面中递增重复,也就是说,如果该图有 30 个 x/y 对(这是动态的),则该报告将有 30 页,其中第一页只有第一个值,第二个两个值,依此类推。只有最后一个才会包含完整的图表。

问题 "chart repeat many time""Problem with charting using JasperReport""How to print the grand total only in the last page of a very long report?" 没有解决我的问题。据我所知,将图表放在“详细信息”部分会使图表重复,但将其放在“摘要”、“页脚”、“lastPageFooter”、“标题”等部分中会使其仅显示一个值。当我将其放在详细信息部分并使用 <printWhenExpression> 时也是如此.

我的代码:

<?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="nodes-allarmipersistenti" language="groovy" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" 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"/>
    <field name="day" class="java.lang.Number"/>
    <field name="month" class="java.lang.String"/>
    <field name="year" class="java.lang.String"/>
    <field name="dsunita" class="java.lang.String"/>
    <field name="valueNumber" class="java.lang.Number"/>
    <field name="logo" class="java.lang.String"/>
    <field name="today" class="java.lang.String"/>
    <field name="option" class="java.lang.String"/>
    <title>
        <band height="89">
            <staticText>
                <reportElement mode="Opaque" x="0" y="67" width="424" height="22" backcolor="#CCFFFF"/>
                <textElement textAlignment="Right" verticalAlignment="Middle" markup="none">
                    <font size="10" isBold="true" pdfFontName="Helvetica-Bold" isPdfEmbedded="true"/>
                </textElement>
                <text><![CDATA[GRAFICO PARAMETRO]]></text>
            </staticText>
            <staticText>
                <reportElement x="600" y="0" width="100" height="38"/>
                <textElement verticalAlignment="Middle"/>
                <text><![CDATA[Stampato in data]]></text>
            </staticText>
            <textField>
                <reportElement x="700" y="0" width="102" height="38"/>
                <textElement textAlignment="Right" verticalAlignment="Middle"/>
                <textFieldExpression><![CDATA[$F{today}]]></textFieldExpression>
            </textField>
            <image>
                <reportElement x="0" y="0" width="100" height="67"/>
                <imageExpression><![CDATA[$F{logo}]]></imageExpression>
            </image>
            <staticText>
                <reportElement x="700" y="38" width="102" height="29"/>
                <textElement textAlignment="Right"/>
                <text><![CDATA[MaRe - Telecontrollo]]></text>
            </staticText>
            <textField>
                <reportElement mode="Opaque" x="424" y="67" width="378" height="22" backcolor="#CCFFFF"/>
                <textElement verticalAlignment="Middle"/>
                <textFieldExpression><![CDATA[' ' + $F{option}]]></textFieldExpression>
            </textField>
        </band>
    </title>
    <lastPageFooter>
        <band height="387" splitType="Stretch">
            <xyLineChart>
                <chart evaluationTime="Page">
                    <reportElement x="0" y="0" width="802" height="387"/>
                    <chartTitle/>
                    <chartSubtitle/>
                    <chartLegend/>
                </chart>
                <xyDataset>
                    <dataset incrementType="Report"/>
                    <xySeries>
                        <seriesExpression><![CDATA["Unità " + $F{dsunita}]]></seriesExpression>
                        <xValueExpression><![CDATA[$F{day}]]></xValueExpression>
                        <yValueExpression><![CDATA[$F{valueNumber}]]></yValueExpression>
                    </xySeries>
                </xyDataset>
                <linePlot>
                    <plot/>
                </linePlot>
            </xyLineChart>
        </band>
    </lastPageFooter>
</jasperReport>

这里的数据源是JRBeanCollectionDataSource。

最佳答案

将其放入“详细信息”区域是错误的(正如您所注意到的)。将其放在标题或摘要中即可。您选择的 evaluationTime="Page" 看起来不正确。尝试将其更改为 evaluationTime="Report"

关于charts - iReport 中的 Jasper Report 图表重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9564001/

相关文章:

javascript - D3 折线图没有使用标签正确绘制 X 和 Y 轴

jasper-reports - 有没有办法在碧 Jade 报告上打印小计和总计?

java - 报告中的本地化

java - 在 iReport 中打印 When Expression

python - Pandas - 时间线的堆叠水平条形图?

excel - 每日绘图报告轴格式

postgresql - 使用 PostgreSql 在 Ireports 中显示图像

jasper-reports - JasperReports与iReport

python-3.x - 在 Bokeh python 中创建雷达图的步骤是什么?

jasper-reports - Jasper Reports - 组更改时打印