历史版本21 :隔行/列设置背景色 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

在满足一定条件下改变单元格的格式或者显示成不同的值。如运货费大于 100 元就红色预警,单元格背景色间隔显示等。

222

2. 解决方案编辑

添加条件属性可以解决该问题。

3. 示例一:隔行显示不同背景色编辑

3.1 打开报表

打开报表%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\数据显示格式.cpt

3.2 间隔背景色

右击订单 ID 数据列单元格,选择条件属性,添加一个条件属性,选择改变的属性为背景。

当满足条件row()%2==0时,给这一行加上背景色。row() 为获取当前行号,被 2 整除即偶数行有背景,奇数行没有背景。
222


3.3 红色预警

右击运货费数据列单元格,选择条件属性,添加一个条件属性,选择要改变的属性为字体的颜色。

当满足条件 currentValue>100,当前运货费大于 100 的单元格字体颜色修改为红色。
222


条件属性的作用是对满足条件的数据进行高亮显示如加上背景色等,从而突出显示异常数据,其中新值属性会改变单元格实际值。

隔行显示不同背景色的预览效果如下:
222

4. 示例二:隔列显示不同背景色编辑

4.1 准备数据

新建一个销量数据集,对应的 SQL 语句为:select * from 销量

4.2 表样设计

表样设计如下:

image.png

单元格

数据列

属性

A2产品从上到下扩展,其余默认
B1销售员从左到右扩展,其余默认
B2销量汇总求和

4.3 间隔背景色

右击销售员数据列单元格,选择条件属性,添加一个条件属性,选择改变的属性为背景。

当满足条件COL()%2==0时,给这一列加上背景色。col() 为获取当前列号,被2整除即偶数列有背景,奇数列没有背景。
222

预览效果如下:
222

已完成模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\primary\DetailReport\隔列显示不同背景色.cpt

5. 示例三:每隔N行显示不同背景色编辑

5.1 打开报表

打开报表%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\数据显示格式.cpt

5.2 间隔 N 行背景色

右击订单 ID 数据列单元格,选择条件属性,添加一个条件属性,选择改变的属性为背景。

当满足条件ROUNDUP((ROW()-M)/N,0)%2==0时,给这一行加上背景色。ROW() 为获取当前行号,M 为标题行数,当前行号减去标题行 M(即将当前行号调整为从 1 开始),除以间隔行数 N,得到的商向上取整(即有小数进 1),若能被 2 整除的行有背景,不能被 2 整除的行没有背景。

这里订单 ID 所在单元格 A2 在第二行,则标题行数为 1,则M=1,每隔 5 行显示不同背景色,则 N=5,即为ROUNDUP((ROW()-1)/5,0)%2==0

222

注:公式中的 N 为 N 行,隔N列显示不同背景色只需将公式中的 ROW()改为 COL()即可。

隔 N 行显示不同背景色的预览效果如下:
222

6. 示例四:隔行显示不同的背景色(隐藏行)编辑

有隐藏行存在的情况:


6.1 打开报表

打开报表%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\数据显示格式.cpt


6.2 设置隐藏行

在制作模板时,经常遇到根据某个条件来决定某些行(列)是否显示(隐藏),如:给运货商添加条件属性,运货商为 1 的时候隐藏,如下图:
222

6.3 隔行显示背景色

此时如果按照[示例一]利用ROW()%2=1来实现隔行显示不同的背景色,就会出现背景色连续一样的情况。

如图:

222

解决方案:添加一列编号,若按正常的排序,发现序号不连续,这时候我们可以按照文档 隐藏行时序号不连续的解决方案,设置条件属性,即可解决。如下图所示:

222

设置后,在 B2 单元格上添加一个条件属性。如图:

222

最后将 A 列设置隐藏,如图:

222

保存设置后,分页预览。效果如图:

222


已完成模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\primary\DetailReport\隔行换色-有隐藏行情况.cpt