Jasper reports 我如何知道jasper reports是否正在评估摘要波段?
我有报告页脚与页码和保密免责声明。我需要隐藏在摘要页保密免责声明,但需要页码,因为它是 我已在报告中添加了Jasper reports 我如何知道jasper reports是否正在评估摘要波段?,jasper-reports,Jasper Reports,我有报告页脚与页码和保密免责声明。我需要隐藏在摘要页保密免责声明,但需要页码,因为它是 我已在报告中添加了isSummaryNewPage=“true”和isSummaryWithPageHeaderAndFooter=“true” 是否有任何标志来检查页面是摘要页面还是详细页面(位于或内)?AFIK没有内置属性告诉您处于摘要栏位 然而,我认为在这种情况下,如果摘要栏位于多个页面上,或者出于任何其他原因,您不喜欢使用lastPageFooter栏,您可以安全地使用我称之为“参数破解”的解决方案
isSummaryNewPage=“true”和isSummaryWithPageHeaderAndFooter=“true”
是否有任何标志来检查页面是摘要页面还是详细页面(位于
或
内)?AFIK没有内置属性告诉您处于摘要栏位
然而,我认为在这种情况下,如果摘要栏位于多个页面上,或者出于任何其他原因,您不喜欢使用lastPageFooter
栏,您可以安全地使用我称之为“参数破解”的解决方案
参数破解
列表
、映射
或其他类似类)。用一个空的HashSet
来实例它
<parameter name="paramHack" class="java.util.Set">
<defaultValueExpression><![CDATA[new java.util.HashSet()]]> </defaultValueExpression>
</parameter>
$p{paramHack}.contains(“summary”)
来了解文本字段是否已被评估过,以便了解我们是否已到达摘要栏,而不是打印“机密免责声明”
注意:我使用了另一个名称,因为这将在最后一个细节栏页上的pageFooter
之前设置,所以不能对pageFooter
和pageHeader
使用相同的标志名称。要在pageFooter
的最后一个细节栏页上澄清,$P{paramHack}.contains(“detail_end”)
为true
,但$P{paramHack}.contains(“summary”)
为false
然后在页眉中使用另一个标志来确定是否显示内容。它对页脚有效,但该技术对页眉内容无效。请帮忙。我有多页的摘要。第一页显示内容,其余部分隐藏。@Yogeendra我已经更新了帖子,您使用了类似的方法,但使用了一个新的标志,途中使用了一个假组,groupFooter标志将在summary标志的pageHeader之前进行评估,但请注意,您需要另一个标志(因此使用另一个名称),因为它是在最后一个详细标注栏页面的页脚之前计算的;)
<printWhenExpression><![CDATA[$P{paramHack}.add("summary") || true]]></printWhenExpression>
<printWhenExpression><![CDATA[!$P{paramHack}.contains("summary")]]></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="WhenSummary" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" isSummaryNewPage="true" isSummaryWithPageHeaderAndFooter="true" uuid="bbec9a5c-d9fc-4e29-b2b0-cea6d7a50394">
<parameter name="paramHack" class="java.util.Set">
<defaultValueExpression><![CDATA[new java.util.HashSet()]]></defaultValueExpression>
</parameter>
<queryString>
<![CDATA[]]>
</queryString>
<pageHeader>
<band height="35" splitType="Stretch"/>
</pageHeader>
<detail>
<band height="40">
<staticText>
<reportElement x="0" y="0" width="545" height="40" uuid="74f6c3de-9867-4895-b7bb-c9cdb124fbdc"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="26"/>
</textElement>
<text><![CDATA[First just an empty page]]></text>
</staticText>
</band>
</detail>
<pageFooter>
<band height="40" splitType="Stretch">
<textField>
<reportElement x="50" y="0" width="440" height="40" uuid="af5f6f4c-fe77-4f07-a080-035230123f50">
<printWhenExpression><![CDATA[!$P{paramHack}.contains("summary")]]></printWhenExpression>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="26"/>
</textElement>
<textFieldExpression><![CDATA["Confidential"]]></textFieldExpression>
</textField>
<textField>
<reportElement x="493" y="0" width="60" height="40" uuid="78b7b8bd-4189-42ea-8120-5a09a8b5701c"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="22"/>
</textElement>
<textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
</band>
</pageFooter>
<summary>
<band height="40" splitType="Stretch">
<staticText>
<reportElement x="0" y="0" width="545" height="40" uuid="9ee45216-e7e1-4e5a-bbed-1f057ade1967">
<printWhenExpression><![CDATA[$P{paramHack}.add("summary") || true]]></printWhenExpression>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="26"/>
</textElement>
<text><![CDATA[Summary page]]></text>
</staticText>
</band>
</summary>
</jasperReport>
<group name="FakeGroup">
<groupExpression><![CDATA["dummy"]]></groupExpression>
<groupFooter>
<band height="1">
<textField>
<reportElement x="0" y="0" width="553" height="1" uuid="373fc74e-011a-4f03-9cd4-9d5d9464ab06">
<printWhenExpression><![CDATA[$P{paramHack}.add("detail_end") && false]]></printWhenExpression>
</reportElement>
<textFieldExpression><![CDATA["Hidden used just to know when detail band ends"]]></textFieldExpression>
</textField>
</band>
</groupFooter>
</group>