0

これは些細なことのように聞こえるかもしれませんが、答えが見つかりません。行の背景色を変更するrdlcレポートがあり、このために次の式を使用しました。

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

また、いくつかの行を非表示にする必要があります。このために、次の式を使用します。

    = Fields!MeanAeb.Value <> ""

ここで、MeanAebは私のレポートのフィールドです。私の問題は、rowNumberが非表示の行もカウントするため、同じ背景を持つ2つの連続した行がテーブルに含まれる可能性があることです。表示されている行のみを考慮に入れる方法はありますか?

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 に答える