2009-04-16 5 views
0

Я использую приведенный ниже код для динамического изменения текста, но мне также необходимо изменить цвет от черного до красного всей строки в SSRS, используя VB.NET. Однако row.Cells.Style.ForeColor = System.Drawing.Color.Red не работает. Любые идеи о том, как динамически изменять цвет текста в определенной строке?Как динамически изменять цвет текста с помощью VB.NET в SSRS?

Public Shared Function ChangeWord(ByVal s As String) As String 
    Dim strBuilder As New System.Text.StringBuilder(s) 
    If s.Contains("Others") Then 
     strBuilder.Replace("Others", "Others FIG NOT INCL") 
     Return strBuilder.ToString() 
    Else : Return s 
    End If 
End Function 

Public Shared Function ExcludeOthers(ByVal rowDesc As String, ByVal rowVal As Integer) As Integer 
    If rowDesc.Contains("Others") Then 
     rowVal = 0 
     Return rowVal 
    Else 
     Return rowVal 
    End If 
End Function 
+0

Использование управления ReportViewer? – gbn

+0

Или в определении отчета? Извините, я не понимаю VB.NET выше в отношении изменения цвета текста. – gbn

ответ

8

Мое понимание Вашего вопроса в том, что вы хотите условно установить цвет текста в строке на красный, если поле описания в отчете содержит значение «Другой»

Вам не нужно Код VB.Net для этого.

На вкладке «Макет» конструктора отчетов выберите строку, которую вы хотите форматировать условно, щелкнув поле вне левого края самой левой ячейки.

В свойствах этой строки задайте значение атрибута «Цвет», выберите «Выражение ...» в раскрывающемся списке.

В редакторе Expression, введите следующий код

=iif(Fields!~MyColumnName~.Value.ToString().Contains("Others") = True,"Red","Black") 

Вам нужно изменить ~MyColumnName~ на фактическое имя столбца в наборе данных.

+0

Дорогой Эд, я не знаю, как поблагодарить вас. Thanx миллион за вашу помощь! – Fet