如何仅更改 JasperReports 中交叉表报告的所有列和行的背景颜色?
How do I change the background color on only the ALL columns and rows for a Crosstab report in JasperReports?
我已经在 JasperReports 中创建了一个交叉表报告,并且想仅向所有行和列添加一些条件着色。
到目前为止,我已经尝试检查条件样式中的 <Measure>_<Column Group>_ALL
变量,但是当某些值与 ALL row/columns 中的值相同时,这不起作用。
我正在使用 ROW_COUNT
变量来交替显示行颜色,但我注意到它没有将 ALL 行计为离散行。
这可能吗?
我希望平均值 columns/rows 中数据的背景颜色在上面的示例中为灰色,而不会弄乱交替行的颜色。
要为列组设置特定样式,它需要位于数据源之外。在您设置 columnTotalGroup
的位置添加一个 crosstabCell
并根据需要在此设置样式上添加。
jrxml代码
<crosstabCell width="50" height="28" columnTotalGroup="myColumnGroup">
<cellContents backcolor="#BFE1FF" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="11" width="50" height="16" forecolor="#000000" uuid="27bcff56-8b7a-4867-b1bb-f0f35f750525"/>
<textElement verticalAlignment="Middle">
<font size="8"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{myAverage})]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
在组
上获取数据集totalPosition="End"
之后的单元格
您也可以使用 setRowTotalGroup
将此应用于行总计
我已经在 JasperReports 中创建了一个交叉表报告,并且想仅向所有行和列添加一些条件着色。
到目前为止,我已经尝试检查条件样式中的 <Measure>_<Column Group>_ALL
变量,但是当某些值与 ALL row/columns 中的值相同时,这不起作用。
我正在使用 ROW_COUNT
变量来交替显示行颜色,但我注意到它没有将 ALL 行计为离散行。
这可能吗?
我希望平均值 columns/rows 中数据的背景颜色在上面的示例中为灰色,而不会弄乱交替行的颜色。
要为列组设置特定样式,它需要位于数据源之外。在您设置 columnTotalGroup
的位置添加一个 crosstabCell
并根据需要在此设置样式上添加。
jrxml代码
<crosstabCell width="50" height="28" columnTotalGroup="myColumnGroup">
<cellContents backcolor="#BFE1FF" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="11" width="50" height="16" forecolor="#000000" uuid="27bcff56-8b7a-4867-b1bb-f0f35f750525"/>
<textElement verticalAlignment="Middle">
<font size="8"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{myAverage})]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
在组
上获取数据集totalPosition="End"
之后的单元格
您也可以使用 setRowTotalGroup