【发布时间】:2013-11-07 11:28:51
【问题描述】:
我有一个表格形式的报告。我想为每一列设置一个随机的背景色。
为此我创建了一个自定义脚本:
Public Function GetColor()
Dim intHighNumber AS Decimal = 255
Dim intLowNumber AS Decimal = 100
Dim NewColor AS String
Dim Red AS Decimal = Int((intHighNumber - intLowNumber + 1) * Rnd + intLowNumber)
Dim Green AS Decimal = Int((intHighNumber - intLowNumber + 1) * Rnd + intLowNumber)
Dim Blue AS Decimal = Int((intHighNumber - intLowNumber + 1) * Rnd + intLowNumber)
NewColor = "#" & Hex(Red) & Hex(Green) & Hex(Blue)
Return NewColor
End Function
在第一个单元格中,我将填充表达式设置为:=code.GetColor() 直到这里它工作完美,但现在我希望列的其余部分使用相同的颜色......所以我输入了表达式“=Fields!myField.BackgroundColor”,但这不起作用......
我不知道如何解决这个问题...
非常感谢您的帮助:-)
【问题讨论】:
-
这是未经测试的......但由于报告引擎通常从左到右从上到下写入,您可以在自定义代码函数上方存储 LastColorUsed 公共变量。在您的自定义代码中创建一个名为 LastColorUsed() 的函数,该函数返回最后使用的颜色变量。这样,您可以将表达式编写为随机的或使用的最后一种颜色。
标签: sql-server reporting-services reporting background-color