2009-04-16 86 views
0

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

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 2009-04-16 09:40:43

+0

或者在报告定义中?对不起,我不明白VB.NET上面有关改变文字颜色 – gbn 2009-04-16 10:13:21

回答

8

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

你不需要任何VB.Net代码来做到这一点。

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

在该行的属性上,设置“Color”属性的值,从下拉列表中选择“Expression ...”。

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

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

你需要改变~MyColumnName~在数据集中的列的实际名称。