11

これが私の問題です

私はRdlcレポートを使用しています。私はこれらのフィールドを持っています:

First name  
Address1 
Address2  
City, state, zip

これらのフィールドのいずれかが空の場合、空白スペースは表示されません。たとえば(期待される出力

First name,  
Address1,  
City, state, zip  

しかし、上の画像に示されているように、私はこれを取得しています:

First name,  
Address1,  
........................<-(blankspace is showing here)  
City, state, zip 

変えてみましたVisiblity-> Expression-> =IIF(String.IsNullOrEmpty(Fields!Address2.Value), false,True)

4

3 に答える 3

18

との表現がうまくいかなかったと思いますString.IsNullOrEmpty

次の2つのオプションのいずれかを試してください。

1.1。=IIF(IsNothing(Fields!Address2.Value),False,True)

2.2。=IIF(Len(Fields!Address2.Value) = 0,False,True)

コメントによると、解決策は、2つ(またはそれ以上)のフィールドを配置し、2番目のフィールドが実際の値を持っているか空の場合に値を連結する単一のテキストボックスを作成することです。

したがって、式は次のようになります。

=Fields!Name.Value + System.Environment.NewLine + Fields!SAddr_Line1.Value + IIF(‌​Len(Fields!Address2.Value) = 0, "", System.Environment.NewLine + Fields!Address2.Value) + Fields!ShipTo.Value

読みやすくするために:

=Fields!Name.Value
+ System.Environment.NewLine
+ Fields!SAddr_Line1.Value
+ IIF(‌​Len(Fields!Address2.Value) = 0, "", System.Environment.NewLine + Fields!Address2.Value)
+ Fields!ShipTo.Value
于 2012-12-12T07:59:44.393 に答える
1

これが誰かを助ける場合に備えて。

私がするまで、私は同じように苦しみました(そして私は非常に複雑なグループ化をしていました):

Fields!FieldName.Value * 1

(その後、必要に応じてCStr()を使用して文字列に変換できます)

そして、voilà!

于 2018-03-13T02:55:24.197 に答える
0

rdlcレポートの次の場合にifelseステートメントを使用できます

     1=IIF(IsNothing(Fields!Amount.Value),False,True)
     2.=IIF(Len(Fields!Amount.Value) = 0,False,True)

       =iif(IsNothing(Sum(Fields!Amount.Value)),0.00,True).ToString()

最後の1つは、レコードが見つからず、0が機能していることを示しています。

于 2017-03-23T04:55:49.287 に答える