rdlc在条件下跳过隐藏的行

时间:2013-03-26 14:39:02

标签: rdlc

我知道这可能听起来微不足道,但我找不到答案。 我有一个rdlc报告,其中我喜欢交替行背景颜色,为此我使用了以下公式:

    =iif(RowNumber(Nothing) Mod 2, "#e5e5e5", "White")

我还需要隐藏一些行,为此我使用以下公式:

    = Fields!MeanAeb.Value <> ""

其中MeanAeb是我报告中的一个字段。我的问题是rowNumber还计算隐藏的行,所以我的表可能有两个连续的行具有相同的背景。有没有办法只考虑可见的行?

1 个答案:

答案 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:)