如何在多个字段的组合上添加组带?
How to add group band on combination of multiple fields?
我有这些数据,我希望在 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场.
输出是这样的,这不是我所希望的。
Color Group: Primary Number: 1
red
blue
yellow
Color Group: Secondary Number: 2
orange
violet
green
我认为正确的解决方案是使用 添加组 > 组标准 > 按以下表达式分组 > 带文本区域的组表达式 但我不知道该放什么。有人吗?
我认为嵌套 2groups 可以解决这个问题。
第一。
添加组 > 组标准 > 按以下表达式分组 > 选择 color_group
第二。
添加组 > 组标准 > 按以下表达式分组 > 选择 number_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>
输出
注意:获取与预期输出完全相同的顺序橙色记录需要在最后(订单数据)
我有这些数据,我希望在 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场.
输出是这样的,这不是我所希望的。
Color Group: Primary Number: 1
red
blue
yellow
Color Group: Secondary Number: 2
orange
violet
green
我认为正确的解决方案是使用 添加组 > 组标准 > 按以下表达式分组 > 带文本区域的组表达式 但我不知道该放什么。有人吗?
我认为嵌套 2groups 可以解决这个问题。
第一。 添加组 > 组标准 > 按以下表达式分组 > 选择 color_group
第二。 添加组 > 组标准 > 按以下表达式分组 > 选择 number_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>
输出
注意:获取与预期输出完全相同的顺序橙色记录需要在最后(订单数据)