如何在组之间添加静态文本?

时间:2017-05-17 15:22:04

标签: jasper-reports

我想知道如何实现以下结构:

表循环:

  1. 表1
  2. 表2
  3. 表3
  4. 这只是关于椅子的介绍文本

    主席圈:

    1. 主席1
    2. 主席2
    3. 关于我们公司的介绍文本

      成员循环:

      1. 会员1
      2. 会员2
      3. 如何实现上述设置?

        我只想在组之间添加一些文本,并且组中的项循环是独立的。我不能把两个小组放在一起,只有小组在一起。

        希望上面显而易见。

        此时我得到以下结果:

          

        文字:关于表格

             

        表1

             

        ----文字:这只是关于椅子的介绍文本

             

        ----主席1

             

        ----文字:关于我们公司的介绍文本

             

        ----会员1

             

        表2

             

        ----文字:这只是关于椅子的介绍文本

             

        ----主席2

             

        ----文字:关于我们公司的介绍文本

             

        ----会员2

        我不希望该组嵌套在第一组中。

        注意:两个组具有相同的表达式,因为信息存储在同一个表中:$ F [info_id]

1 个答案:

答案 0 :(得分:1)

我没有看到使用组Footer的任何问题: enter image description here

这是我的jrxml:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.3.0.final using JasperReports Library version 6.2.1  -->
<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="Stackoverflow" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="0bf40f57-106b-468c-aad0-0542f71e2399">
    <property name="com.jaspersoft.studio.data.sql.tables" value=""/>
    <queryString>
        <![CDATA[SELECT
(start_date + (LEVEL - 1)) AS start_date,
to_char(start_date + (LEVEL - 1), 'iw') week
FROM (
SELECT 
sysdate  AS start_date,
sysdate +20 AS end_date
FROM dual)
CONNECT BY LEVEL <= 1 + (end_date - start_date)]]>
    </queryString>
    <field name="START_DATE" class="java.sql.Timestamp"/>
    <field name="WEEK" class="java.lang.String"/>
    <group name="WEEK">
        <groupExpression><![CDATA[$F{WEEK}]]></groupExpression>
        <groupHeader>
            <band height="30">
                <textField>
                    <reportElement x="0" y="0" width="100" height="30" uuid="3eb19eee-5434-4351-9788-b48fb2cc6fef"/>
                    <textFieldExpression><![CDATA[$F{WEEK}]]></textFieldExpression>
                </textField>
            </band>
        </groupHeader>
        <groupFooter>
            <band height="30">
                <staticText>
                    <reportElement x="0" y="0" width="100" height="30" uuid="5c713058-5d7c-4992-a20c-d35906bb9c15"/>
                    <textElement>
                        <font size="14" isBold="true" isItalic="true"/>
                    </textElement>
                    <text><![CDATA[Static Text]]></text>
                </staticText>
            </band>
        </groupFooter>
    </group>
    <background>
        <band splitType="Stretch"/>
    </background>
    <detail>
        <band height="30">
            <textField>
                <reportElement x="0" y="0" width="278" height="30" uuid="eb6c2cf4-2e94-4886-a251-927230710920">
                    <property name="com.jaspersoft.studio.unit.y" value="pixel"/>
                </reportElement>
                <textFieldExpression><![CDATA[$F{START_DATE}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="278" y="0" width="277" height="30" uuid="7b30b722-c582-4b8d-8336-932bf0cf3c06"/>
                <textFieldExpression><![CDATA[$F{WEEK}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
</jasperReport>

或许澄清一下你的问题?