2009-04-16 92 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~在數據集中的列的實際名稱。