lin23611244 发表于 2016-6-20 17:23:42

背景色设计不清楚

本帖最后由 Lenka.Guo 于 2016-6-21 09:53 编辑


设置分组,且背景颜色设计为
=IIF(RowNumber() Mod 2,"white","Gainsboro")
显示的是

我想要的是一白一灰一白一灰,怎么设计

Lenka.Guo 发表于 2016-6-20 17:56:56

您好,
把所有数据都放在 详细数据行 而不是分组行, 这样在使用同样的公式就可以实现了:=IIF(RowNumber(“Table1”) Mod 2,"white","Gainsboro")

lin23611244 发表于 2016-6-20 18:00:43

详细数据行的话就没有分组行的效果了啊,把相同的只显示一个,在分组行能不能实现一白一灰啊

lin23611244 发表于 2016-6-20 18:00:47

详细数据行的话就没有分组行的效果了啊,把相同的只显示一个,在分组行能不能实现一白一灰啊

Lenka.Guo 发表于 2016-6-21 09:52:34

lin23611244 发表于 2016-6-20 18:00
详细数据行的话就没有分组行的效果了啊,把相同的只显示一个,在分组行能不能实现一白一灰啊

因为在使用分组时,RowNumber() 计算的是分组下所包含的所有数据行,因此行号不匹配,导致交替颜色设置出问题。
现有的解决方案,见附件报表模板(测试数据可在帖子中获得 http://gcdn.gcpowertools.com.cn/showtopic-21271-1-1.html):


实现思路:

1. 在脚本标签中添加以下代码,计数器:
Private Dim Counter As Integer = 0

Public Function GetCounter() As Integer
        Me.Counter = Me.Counter + 1
        return Me.Counter
End Function


2. 添加列并设置Visibility的hidden属性为true ,设置 Value 值为:=Code.GetCounter(),调用刚刚添加的脚本代码




3. 设置分组行的BackgroundColor 属性为:=IIF((ReportItems!TextBox12.Value )mod 2,"White","red"), TextBox12 是值为=Code.GetCounter()的单元格名称。




报表模板下载:





页: [1]
查看完整版本: 背景色设计不清楚