SSRS - Как проверить все строки в таблице? - PullRequest
0 голосов
/ 06 октября 2009

У меня есть таблица в отчете и текстовое поле, которое меняет свой цвет фона на основе значений в таблице. Прямо сейчас у меня есть выражение цвета фона для текстового поля, установленное на:

= iif (Me.Value = ReportItems! [NewValue] .Value, "Yellow", "Transparent")

"NewValue" - это имя одного из столбцов в таблице. Вышеприведенное прекрасно работает, если значение текстового поля находится в самой первой строке столбца «NewValue», но не иначе.

Как это исправить, чтобы оно работало, если значение текстового поля отображается в какой-либо строке столбца «NewValue»?

Извините, я немного новичок в службах Reporting Services и не видел никаких функций для элементов управления таблицами.

Ответы [ 2 ]

0 голосов
/ 09 октября 2009

Я наконец-то получил эту работу вчера благодаря этой записи в блоге:

http://mpasharp.spaces.live.com/blog/cns!5BA71A558863C810!191.entry?sa=340192646

Я в основном сделал то, что он сделал в посте, немного измененный для моего отчета. Я также добавил функцию для получения индекса строки искомого значения (у меня переменные немного отличаются).

Public Shared Function GetChangedValueIndex(txt As String) As Integer
Dim counter As Integer = 0
For Each s As String In ChangedValueList
    If s = txt Then
        Return counter
    End If

    counter += 1
Next
Return -1

Функция завершения

Другое предостережение заключается в том, что вызов функции для добавления значения в массив должен происходить раньше в отчете, чем где бы вы ни хотели его проверить. Таблица, с которой я работал, на самом деле находится в конце отчета (и не может быть перемещена по причинам, связанным с требованиями), поэтому я сделал копию этой таблицы, переместил ее в верхнюю часть отчета и скрыл.

Невероятно, что не существует более простого способа сделать это.

0 голосов
/ 07 октября 2009

Вместо ReportItems! [NewValue] .Value вы также можете использовать ReportItems ("NewValue"). Значение, кстати,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...