0

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

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

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

    = Fields!MeanAeb.Value <> ""

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

4

1 回答 1

1

所以如果有人有同样的问题,我有一个答案;

在 ReportProperties 的代码部分添加以下内容

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

于 2013-03-26T16:08:54.333 回答