【问题标题】:SSRS Color literal not working in variable expressionSSRS 颜色文字在变量表达式中不起作用
【发布时间】:2014-02-23 02:50:31
【问题描述】:

我正在尝试创建自定义模板报告,以便从它继承的报告将使用公司标准的颜色和字体。我想为这些创建报表变量,以便可以在报表的不同部分使用相同的颜色。

例如,在报表标题属性中,我为 BackgroundColor 属性设置了 RGB 值,当我保存更改时,我在属性文本框中看到了一个文字值。如果我再次打开该属性的下拉列表,然后单击“表达式...”链接,我会看到一个数字文字 - 在本例中为 #006a4d,它是深绿色。 (我对 SSRS 表达式有点陌生,但显然表示数字常量的表达式不需要开头的“=”符号。)

这告诉我代表我想要的 RGB 组合的常数。现在,我进入“报表属性”对话框的“变量”选项卡并创建一个名为“BckndClr”的变量,其值与十六进制常量相同。

如果我随后返回 BackgroundColor 属性并将其设置为表达式:

=Variables!BckndClr.Value

并保存它,我发现设计选项卡中报表标题的背景色不再是深绿色,而是更改为自动默认(白色)颜色。

如果 Visual Studio 属性对话框显示文字颜色表达式的值,为什么我不能在用户定义的变量中使用相同的值并将属性表达式设置为该变量?

【问题讨论】:

  • 我无法重现。您是否将 #006a4d 设置为变量的 VALUE 属性?
  • @user3056839 - 是的。这是价值。我正在使用 VS2012。
  • 我认为您提到的关键是“在设计选项卡中...”设计选项卡执行报告。查看“设计”选项卡时不会评估变量和表达式。静态项目通常会呈现,但即使在那里,它也与“预览”选项卡有很大不同。
  • 啊,我想知道问题出在哪里 - 操作似乎正在描述正确的过程。如果您考虑一下,在生成报告之前,变量和参数的值不一定是已知的。它返回数据集,填充变量,然后呈现报告。
  • 是的。根据我在下面对 mmarie 的回复,我只是在看设计托盘。

标签: variables reporting-services background-color


【解决方案1】:

您所说的“文字颜色表达式”(#006a4d)是颜色的十六进制值。您可以使用this website 将您的 RGB 值转换为十六进制。不确定您使用的是什么版本的 SSRS。我使用 SQL Server Data Tools for VS 2012 复制了您在 SQL Server 2012 SP1 中的步骤。

  1. 在报表属性中创建了一个变量。称之为测试。将十六进制值直接粘贴到值框中,无需单击表达式按钮。

  2. 转到标题属性,单击填充,然后单击填充颜色旁边的表达式按钮。输入 =Variables!test.Value 作为表达式。单击确定。

  3. 预览报告。并验证标题的颜色是深绿色。

【讨论】:

  • 谢谢,妈妈。对我来说,您回答的关键步骤是“3. 预览报告”。显然,必须在运行时评估颜色变量才能应用于报告。它不会出现在设计托盘中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多