0
我知道Crystal Reports提供了將頁腳分割成可根據某些條件打印的部分(部分a,部分b,...)的可能性。如果條件1是true則打印部分a,否則打印部分b等等。頁腳分裂成更多部分
我必須使用iReport類似的東西,我不知道如何。我無法找到製作更多部分的選項。任何人都可以幫助我嗎?
我知道Crystal Reports提供了將頁腳分割成可根據某些條件打印的部分(部分a,部分b,...)的可能性。如果條件1是true則打印部分a,否則打印部分b等等。頁腳分裂成更多部分
我必須使用iReport類似的東西,我不知道如何。我無法找到製作更多部分的選項。任何人都可以幫助我嗎?
擴大和建議的擴展,亞歷克斯的評論,你可以佈置你心目中的頁腳frame
內部的各個部分。然後爲每個幀設置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="report3" language="groovy" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="0" bottomMargin="0" uuid="35abc101-1375-42c5-9f5f-2eb3542ca382">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<parameter name="footerPrint" class="java.lang.String">
<defaultValueExpression><![CDATA["1"]]></defaultValueExpression>
</parameter>
<pageFooter>
<band height="51">
<frame>
<reportElement uuid="c8bef919-0e83-4d72-9b25-1a7e0aa6b82b" x="0" y="0" width="555" height="20">
<printWhenExpression><![CDATA[$P{footerPrint}.equals("1")]]></printWhenExpression>
</reportElement>
<staticText>
<reportElement uuid="4ad1f177-9e43-4d9f-8f05-012090c33193" x="0" y="0" width="100" height="20"/>
<textElement/>
<text><![CDATA[Footer Print: 1]]></text>
</staticText>
</frame>
<frame>
<reportElement uuid="c8bef919-0e83-4d72-9b25-1a7e0aa6b82b" x="0" y="0" width="555" height="20">
<printWhenExpression><![CDATA[$P{footerPrint}.equals("2")]]></printWhenExpression>
</reportElement>
<staticText>
<reportElement uuid="4ad1f177-9e43-4d9f-8f05-012090c33193" x="0" y="0" width="100" height="20"/>
<textElement/>
<text><![CDATA[Footer Print: 2]]></text>
</staticText>
</frame>
</band>
</pageFooter>
</jasperReport>
幀被設置爲相同的尺寸和其餘設定爲完全相同的x/y座標。所以基本上它們是重疊的,但是如果你正確地做了這些表達式,那麼無論如何只有一個會被顯示。
。當然,另一種選擇是設置每個元素的表達,我只是覺得這種方式更容易。
您可以將盡可能多的* textField *,* frame *和其他元素添加到該樂隊中。您可以使用* textFieldExpression *和* printWhenExpression *表達式來確定要顯示的內容。 –