2012-07-25 51 views
7

我RDLC表達價值觀曾經參與只可能2像如何檢查多個條件在RDLC表達

=iif((Fields!Gender.Value="1"),"Male","Female") 

在這裏,我只能與2的可能性工作。但如果我想檢查3個或更多的條件比我怎麼樣?

+1

你請標明正確的答案,幫助他人找到解決:

=iif(expression=value, true, false) 

你可以改變嗎? – 2017-05-16 07:19:40

回答

8

您可以使用報告的Code財產。用鼠標右鍵單擊報告外部的空白處,然後單擊Report Properties或單擊報告菜單並單擊報告屬性。

單擊「代碼」選項卡,然後輸入你的病情檢查聲明如下

Public Function GetGender(ByVal val as String) As String 
    Dim retVal as String = "" 

    If(val = "1") 
    retVal = "Male" 
    Else If (val = "2") 
    retVal = "???" 
    Else If (val = "3") 
    retVal = "???" 
    Else 
    retVal = "???" 
    End If 

    Return retVal 

End Function 

然後調用該函數在文本框

= Code.GetGender(Fields!Gender.Value) 
+0

嘿,這是進入寫report.thanx..i代碼中發現使用switch語句就像iif.even這將工作 – Zara 2012-09-27 07:50:39

+0

你在表達盒一行表示'IIf'的其他解決方案非常好的選擇?這很難調試,但它也很有用 – codingbiz 2012-09-27 07:54:44

+1

我的意思是切換... – Zara 2012-09-27 09:22:08

11

使用交換機的表現,如果你有更多的條件,它也更具可讀性。

=Switch(
    Fields!Gender.Value = 1, "Male", 
    Fields!Gender.Value = 2, "Female" 
    ) 

rdlc expression iif use?

3

開關和自定義代碼的樣子真好,謝謝你們

但是,如果你堅持使用IIF()條件,那麼,

=iif((Fields!Gender.Value="1"), "Male", iif((Fields!Gender.Value="2"), "Female", "Something Else")) 

好吧,再見

2

試試這個:

=iif(Fields!Gender.Value="1","Male", iif(Fields!Gender.Value="2","Female","Undefined")) 

格式爲:

=iif(expression=value, true, iif(expression2=value2, true, false))