如何在SSRS中使用VB.NET动态更改文本颜色?

Fet*_*Fet 0 vb.net reporting-services

我使用下面的代码动态更改文本,但我还需要使用VB.NET将SSRS中整行的颜色从黑色更改为红色.但是,row.Cells.Style.ForeColor = System.Drawing.Color.Red不起作用.有关如何动态更改特定行中文本颜色的任何想法?

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
Run Code Online (Sandbox Code Playgroud)

Ed *_*per 8

我对您的问题的理解是,如果报告中的描述字段包含值"其他",您希望有条件地将行的文本颜色设置为红色.

您不需要任何VB.Net代码来执行此操作.

在报表设计器的"布局"选项卡中,通过单击最左侧单元格左侧边缘外的框,选择要有条件地格式化的行.

在此行的属性上,设置"颜色"属性的值,从下拉列表中选择"表达式...".

在表达式编辑器中,输入以下代码

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

您需要更改~MyColumnName~数据集中列的实际名称.