隔行显示不同的背景色

编辑
文档创建者:印然 (67260 )     浏览次数:9023次     编辑次数:17次     最近更新:jiangsr 于 2017-12-26     

目录:

1. 问题描述编辑

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

2. 解决方案编辑

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

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

3.1 打开报表
打开报表%FR_HOME%\WebReport\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 表样设计
表样设计如下:
222
单元格
数据列
属性
A2产品从上到下扩展,其余默认
B1销售员从左到右扩展,其余默认
B2销量汇总求和
4.3 间隔背景色
右击销售员数据列单元格,选择条件属性,添加一个条件属性,选择改变的属性为背景。
当满足条件COL()%2==0时,给这一列加上背景色。col()为获取当前列号,被2整除即偶数列有背景,奇数列没有背景。
222
预览效果如下:
222
已完成模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\primary\DetailReport\隔列显示不同背景色.cpt

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

5.1 打开报表
打开报表%FR_HOME%\WebReport\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%\WebReport\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%\WebReport\WEB-INF\reportlets\doc\primary\DetailReport\隔行换色-有隐藏行情况.cpt

附件列表


主题: 专题总结
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗?