刪除隱藏的行我用這對我的背景顏色的SSRS如何從交替背景色
IIF((ROWNUMBER(沒有)模2), 「亮灰」, 「白」)
,但我需要隱藏我在Tablix中然後使行的一個這樣的事情發生
繼續與隱藏行交替行的顏色最好的辦法是什麼?
刪除隱藏的行我用這對我的背景顏色的SSRS如何從交替背景色
IIF((ROWNUMBER(沒有)模2), 「亮灰」, 「白」)
,但我需要隱藏我在Tablix中然後使行的一個這樣的事情發生
繼續與隱藏行交替行的顏色最好的辦法是什麼?
你見過this previous answer關於交替行顏色?
您可以使用CountDistinct和RunningValue的組合來計算背景中的行號,然後可以使用該行號來設置行的BackgroundColor屬性,前提是每個要報告的行都有唯一的值。
例如,在表矩陣行
=iif((RunningValue(CountDistinct(Fields!Serial.Value), Sum, "DataSet1") mod 2) = 0, "Tomato", "LimeGreen")
設置此表的backgroundColor屬性下面的表達式爲具有交替的紅色和綠色的行。
如果一行被隱藏,這會給出相同的結果。如果(例如)行B法語SN006被隱藏,則上面的行和下面的行是紅色的,並且會混淆交替的行顏色。 – TechGrl1
基於this回答另一個問題,我有交替行的顏色的另一種方法,此時服用隱藏的行考慮。
您需要將以下自定義代碼添加到報告
Dim CurrentColour As String
Dim LastRowNumber AS Integer
Function SwitchColour(ThisRowNumber As Integer) As String
If CurrentColour = "" Then
CurrentColour = "Red"
End If
If LastRowNumber = 0 Then
LastRowNumber = ThisRowNumber
End If
If LastRowNumber <> ThisRowNumber Then
' Change the colour
If CurrentColour = "Red" Then
CurrentColour = "Yellow"
Else
CurrentColour = "Red"
End If
LastRowNumber = ThisRowNumber
End If
Return CurrentColour
End Function
這有效地節省了CurrentColour橫跨在報告中堅持元素的值。當SwitchColour函數運行時,它確定行號是否已更改(LastRowNumber <> ThisRowNumber
),如果更改則更改單元格的顏色。
採用該試樣數據作爲「數據集1」
Val | Colour
----+-------
36 | Red
22 | Red
55 | Green
23 | Red
74 | Red
,並設置電池BackgroundColour
到
=Code.SwitchColour(RowNumber(「DataSet1」))
給這個結果
當你再申請一個知名度表達到行使用該表達否定的值,例如「綠色」
=iif(Fields!Colour.Value = "Green", True, False)
結果是這樣
注着色仍發生變化,儘管有不同於的中間不存在的記錄表格
這是您想要的行爲類型嗎?是否可以應用於您的項目?如果您需要進一步的幫助,請告訴我。
你是如何在表格中隱藏行的?您是否在使用過濾器或其他方法來更改可見性? – Jonnus
我右鍵單擊Tablix行並選擇Row visibility ...然後我添加了我的表達式以根據year參數的條件隱藏行。當年份更改爲2015年時,該行變爲隱藏狀態,因此交替出現的背景顏色被擡起。 – TechGrl1
作爲一般性評論,過濾表格會更有效率。右鍵單擊Tablix,選擇篩選,並選擇年份= 2005。使用此方法,您現有的計算應該可以工作 – Jonnus