我知道这可能听起来微不足道,但我找不到答案。 我有一个rdlc报告,其中我喜欢交替行背景颜色,为此我使用了以下公式:
=iif(RowNumber(Nothing) Mod 2, "#e5e5e5", "White")
我还需要隐藏一些行,为此我使用以下公式:
= Fields!MeanAeb.Value <> ""
其中MeanAeb是我报告中的一个字段。我的问题是rowNumber还计算隐藏的行,所以我的表可能有两个连续的行具有相同的背景。有没有办法只考虑可见的行?
答案 0 :(得分:1)
所以,如果有人有同样的问题,我有答案;
在ReportProperties的Code部分中的添加以下内容
Dim customRowNumber as Integer = 0
Dim previousRowNumber as integer = 0
Function CustomRowCounter(conditionToTest as Boolean, rowNumbner as Integer) as Integer
if(conditionToTest and rowNumbner <> previousRowNumber)
customRowNumber = customRowNumber + 1
previousRowNumber = rowNumbner
end if
return customRowNumber
End Function
然后在列属性的背景字段中添加以下条件:
=iif(Code.CustomRowCounter(Fields!MeanAeb.Value="",RowNumber(nothing)) Mod 2, "#e5e5e5", "White")
这很好,因为您可以添加任何您喜欢的条件来代替Fields!MeanAeb.Value =“”。只需记住在rowVisibility字段中使用条件的倒数,否则可能会产生奇怪的效果。
哦,如果你想让国际象棋棋盘查看你的报告,只需删除previousRowNumber:)