Fonts 基于另一个字段更改SSRS中值字符串中特定值文本颜色的表达式

Fonts 基于另一个字段更改SSRS中值字符串中特定值文本颜色的表达式,fonts,colors,expression,ssrs-2008,Fonts,Colors,Expression,Ssrs 2008,我的SSRS报告中有一个字段,其中包含一个以逗号分隔的数字字符串(来自SQL中的联合选择)。它看起来像12,91,160,171,223。如果值也在报告的另一个字段中,我只想更改字段中一个特定值(例如160)的文本颜色 我已经有了这个字段属性的字体表达式 =iif(Fields!Store_Number.Value.ToString().Contains (Fields!DMHomeStore.Value)= True,"Red","Black") 这将更改整个字段的文本颜色,而不仅仅是字符串

我的SSRS报告中有一个字段,其中包含一个以逗号分隔的数字字符串(来自SQL中的联合选择)。它看起来像12,91,160,171,223。如果值也在报告的另一个字段中,我只想更改字段中一个特定值(例如160)的文本颜色

我已经有了这个字段属性的字体表达式

=iif(Fields!Store_Number.Value.ToString().Contains (Fields!DMHomeStore.Value)= True,"Red","Black")
这将更改整个字段的文本颜色,而不仅仅是字符串中的一个值


基本上,如果
DMHomeStore
=160,并且
Store\u Number
的字符串中有160个,那么在Store\u Number字符串中只显示160个红色。

这当然可以做到,也不难做到

  • 从一个空表单元格开始
  • 双击单元格->右键单击->创建占位符
  • 在常规选项卡上,值->选择将包含数字字符串的字段
  • 在相同的常规选项卡上,选择“HTML,将HTML标记解释为样式”
  • 单击“确定”
  • 这是第一步。现在,我们所需要做的就是设置一个表达式,找到有问题的字符串,然后用HTML代码将其替换为红色

  • 右键单击单元格->选择表达式
  • 输入以下表达式:
  • =Replace(Fields!Store_Number.Value.ToString(),Fields!DMHomeStore.Value,````&Fields!DMHomeStore.Value&````)
    

    运行报告时,只有有问题的字符串将为红色,单元格中的所有其他文本将为黑色。如果找不到有问题的字符串,则所有其他文本将为黑色。

    SSR不会呈现所有html标记,例如,样式将从span标记中删除。这是一个很好的参考资料

    我不确定是否缺少某些内容,但我仍然得到整个字符串为红色,而不仅仅是160的值。我完全清除了单元格并从sratch开始。创建了占位符,在占位符中选择了字段Store_编号。然后选择了“HTML,将HTML标记解释为样式”。我还确保占位符为“字体”“属性仍然有表达式=iif(Fields!Store_Number.Value.ToString().Contains(Fields!DMHomeStore.Value)=True,“红色”、“黑色”),然后执行第二步添加您给我的=替换表达式。从字体属性中删除该表达式。你不想在两个地方设置颜色。好的,试过了,但现在我只是把整行设置为黑色。如果没有iif表达式,什么会使文本变红?对不起…我从来都不擅长使用表达式。我也应该添加HTML代码吗?如果是,在哪里?再次感谢!你说得对。我只是注意到我的HTML没有显示出来。它就在我的解决方案中,但该站点没有在显示的答案中显示我的HTML标记。我放了几个“虚拟”空格,现在标签正确显示了。只要确保把标签清理干净,你就可以出发了。
    =Replace(Fields!Store_Number.Value.ToString(),Fields!DMHomeStore.Value," `<span style='color:red'>` " & Fields!DMHomeStore.Value & "`</span>`")