Выражение для изменения цвета текста определенного значения в строке значений в SSRS на основе другого поля - PullRequest
3 голосов
/ 24 июля 2010

В моем отчете SSRS есть поле, содержащее строку чисел, разделенных запятыми (из объединенного выбора в SQL).Это выглядит как 12, 91, 160, 171, 223. Я хотел бы изменить цвет текста только ОДНОГО определенного значения (например, 160) в поле, ЕСЛИ значение также находится в другом поле отчета.

У меня уже есть это для выражения для шрифта свойств поля.

=iif(Fields!Store_Number.Value.ToString().Contains (Fields!DMHomeStore.Value)= True,"Red","Black")

Это изменяет цвет текста всего поля, а не только этого ОДНОГО значения в строке.

В основном, если DMHomeStore = 160 и Store_Number имеет 160 в строке, тогда сделайте только 160 красных в строке Store_Number.

Ответы [ 2 ]

5 голосов
/ 24 июля 2010

Это, безусловно, можно сделать, и это не сложно сделать.

  1. Начните с пустой ячейки таблицы.
  2. Двойной щелчок по ячейке -> Щелчок правой кнопкой мыши -> Создать заполнитель
  3. На вкладке Общие значение -> выберите поле, которое будет содержать строку чисел
  4. На той же вкладке "Общие" выберите "HTML, интерпретируйте теги HTML как стили"
  5. Нажмите OK

Это первый шаг. Теперь все, что нам нужно сделать, - это установить выражение, которое найдет нужную строку, а затем заменит ее HTML-кодом, чтобы она стала красной.

  1. Щелкните правой кнопкой мыши по ячейке -> Выбрать выражение
  2. Введите следующее выражение:
=Replace(Fields!Store_Number.Value.ToString(),Fields!DMHomeStore.Value," `<span style='color:red'>` " & Fields!DMHomeStore.Value & "`</span>`")

Запустите ваш отчет, и только соответствующая строка будет красной, а весь другой текст в ячейке будет черным. Если рассматриваемая строка не найдена, весь остальной текст будет черным.

1 голос
/ 06 июня 2013

SSRS не будет отображать все html-теги, например, стили будут отбрасываться из тегов span. Вот хорошая ссылка http://dinesql.blogspot.com/2010/05/reporting-services-2008-showing-html.html

...