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

时间:2009-04-16 08:34:05

标签: 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

1 个答案:

答案 0 :(得分:8)

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

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

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

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

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

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

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