Jasper reports 如何在多个字段的组合上添加组带?

Jasper reports 如何在多个字段的组合上添加组带?,jasper-reports,Jasper Reports,我有这些数据,我想在iReport中按数字组和颜色组进行分组 color | number_group | color_group | red | 1 | primary | blue | 1 | primary | yellow| 2 | primary | orange| 2 | secondary | violet| 1 | secondary

我有这些数据,我想在iReport中按数字组和颜色组进行分组

color | number_group | color_group |
red   |    1         |  primary    |
blue  |    1         |  primary    |
yellow|    2         |  primary    |
orange|    2         |  secondary  |
violet|    1         |  secondary  |
green |    1         |  secondary  |
我想在我的报告里

Color Group: Primary   Number: 1
red
blue

Color Group: Primary   Number: 2
yellow

Color Group: Secondary Number: 1
violet
green

Color Group: Secondary Number: 2
orange
但在中,我只能通过下面的表达式>选择颜色>组字段来执行添加组>组标准>组

结果是,这不是我所希望的

Color Group: Primary Number: 1
red
blue
yellow

Color Group: Secondary Number: 2
orange
violet
green

我认为正确的解决方案是使用添加组>组标准>按以下表达式分组>带文本区域的组表达式,但我不知道放在那里什么。有人吗?

我认为嵌套2组解决了这个问题

第一。 添加组>组条件>按以下表达式分组>选择颜色组

第二。
添加组>组条件>按以下表达式分组>在两个值的串联上选择数字组

Group:

<groupExpression><![CDATA[$F{number_group} + $F{color_group}]]></groupExpression>

示例

<?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="group" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="c1d9b4b7-6162-4b17-b871-3cf3b867d1ef">     
    <queryString>
        <![CDATA[]]>
    </queryString>
    <field name="color" class="java.lang.String"/>
    <field name="number_group" class="java.lang.String"/>
    <field name="color_group" class="java.lang.String"/>
    <group name="myGroup">
        <groupExpression><![CDATA[$F{number_group} + $F{color_group}]]></groupExpression>
        <groupHeader>
            <band height="20">
                <textField>
                    <reportElement mode="Transparent" x="0" y="0" width="300" height="20" forecolor="#3333FF" uuid="b3f3381f-26c1-48d5-953e-ddd017fbf7cf"/>
                    <textElement verticalAlignment="Middle"/>
                    <textFieldExpression><![CDATA["Color Group: " + $F{color_group} + " Number: " + $F{number_group}]]></textFieldExpression>
                </textField>
            </band>
        </groupHeader>
    </group>
    <detail>
        <band height="15" splitType="Stretch">
            <textField>
                <reportElement x="0" y="0" width="300" height="15" uuid="7337168a-363f-4438-a38e-e4859fb6fdd1"/>
                <textElement verticalAlignment="Middle"/>
                <textFieldExpression><![CDATA[$F{color}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
</jasperReport>

输出


注意:获取与预期输出完全相同的顺序橙色记录需要是最后一个(顺序数据)

$F{number\u group}+$F{color\u group}在组表达式上执行此操作。谢谢