SSRS如何为图表元素生成随机颜色

时间:2019-06-24 08:59:01

标签: reporting-services

我正在使用SSRS SQL Server 2017,无法在线找到有关如何在图表上实现随机颜色的任何指示。

我知道曾经有一种使用自定义代码在SSRS 2008R2上实现此目标的方法,因为我们的某些报告中曾经使用颜色随机的图表。

不幸的是,当我们移至SSRS 2017时,图表中的颜色代码因错误而被删除。现在用户希望它回来。

在寻求解决方案方面的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

好的,请为希望向图表等动态添加多种颜色的其他人破解。

首先引用.NET程序集“ System.Drawing”。这使我们能够读取颜色并将其从RGB转换为HTML。

右键单击您的SSRS报告。

转到属性>引用。

添加新参考(通过使用[...]浏览)

共有三个选项卡,请使用.NET。在这里,您会找到“ System.Drawing”。选择它,然后单击[确定]。

接下来,我们添加一些自定义代码(一个函数)。该函数基本上创建了一个随机的RGB颜色参考,然后将其转换为SSRS友好格式:

通过再次右键单击您的SSRS报告来执行此操作。

转到属性>代码。

添加此内容:

Public Shared Function GenerateRandomColor(ByVal seed As Integer) As String 
Dim randNum As New Random(seed) 
Return System.Drawing.ColorTranslator.ToHtml( _ 
System.Drawing.Color.FromArgb( _ 
randNum.Next(0, 255), _ 
randNum.Next(0, 255), _ 
randNum.Next(0, 255))) 
End Function

完成后点击[确定]。

接下来,我们需要调用函数来填充图表。 右键单击图表,然后选择“系列属性”

转到“填充”并点击[fx]按钮以添加表达式。

粘贴以下代码:

=Code.GenerateRandomColor(RunningValue(Fields!Description.Value,Count,Nothing))

您完成了!现在,无论您的数据产生多少列,您的图表都将看起来像真正的彩虹。