2

MS-SQL 2008 R2 に SSRS を使用しています。アクティブなスタッフ、非アクティブなスタッフ、または Null を表示するデータの列があります。Inactive Staff または Null の場合、列のテキストの色を赤に変更したいと考えています。また、Null を変更して、列に「No Staff」を表示したいと考えています。どちらか一方をレッドにすることはできますが、両方を行うことはできません。現在、非アクティブなスタッフを持っています。

列を生成するために使用している 2 つの式は次のとおりです。列の値の場合:

=IIF(IsNothing(Fields!StaffName.Value), 
      "No Staff", 
      Fields!StaffName.Value)

色:

=IIF(Fields!StaffName.Value.ToString().Contains("Inactive"), "Red",
 IIF(ISNothing(Fields!StaffName.Value), "Red", 
 "Black"
 ))
4

1 に答える 1

2

あなたのデータセットについていくつか推測し、簡単な例をまとめました。

データセット:

select StaffName = 'Staff 1'
union all select StaffName = 'Staff 2 (Inactive)'
union all select StaffName = null

あなたとまったく同じText Boxの式:

=IIf(IsNothing(Fields!StaffName.Value), "No Staff", Fields!StaffName.Value)

テキスト ボックスの プロパティの式:

=IIf(InStr(Fields!StaffName.Value, "Inactive") > 0 or IsNothing(Fields!StaffName.Value)
    , "Red"
    , "Black")

最終結果:

ここに画像の説明を入力

@Preet Sangha彼のコメントでも良い点を指摘しているので、大文字と小文字の区別に注意する必要があるかもしれません.

于 2013-03-01T22:01:44.110 に答える