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

Emo*_*Emo 3 fonts expression colors ssrs-2008

我的SSRS报告中有一个字段,其中包含用逗号分隔的一串数字(来自SQL中的coalesce select).它看起来像12,91,160,171,223.我想在字段中仅更改一个特定值(例如160)的文本颜色,如果该值也在报告的另一个字段中.

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

=iif(Fields!Store_Number.Value.ToString().Contains (Fields!DMHomeStore.Value)= True,"Red","Black")
Run Code Online (Sandbox Code Playgroud)

这会更改整个字段的文本颜色,而不仅仅是字符串中的ONE值.

基本上,如果DMHomeStore= 160,并且Store_Number在其字符串中有160,则在Store_Number字符串中仅使160红色.

Nak*_*nch 5

这当然可以做到并且不难做到.

  1. 从空表格单元格开始.
  2. 双击单元格 - >右键单击 - >创建占位符
  3. 在常规选项卡上,值 - >选择将包含数字字符串的字段
  4. 在同一个常规选项卡上,选择"HTML,将HTML标记解释为样式
  5. 单击确定

这是第一步.现在,我们需要做的就是设置一个表达式,它将找到有问题的字符串,然后用HTML代码替换它以使其变为红色.

  1. 右键单击单元格 - >选择表达式
  2. 输入以下表达式:
=Replace(Fields!Store_Number.Value.ToString(),Fields!DMHomeStore.Value," `<span style='color:red'>` " & Fields!DMHomeStore.Value & "`</span>`")
Run Code Online (Sandbox Code Playgroud)

运行您的报告,只有相关字符串为红色,单元格中的所有其他文本都为黑色.如果找不到相关字符串,则所有其他文本将为黑色.