如何检查rdlc表达式中的多个条件

时间:2012-07-25 11:13:34

标签: reportviewer rdlc iif-function

我在rdlc表达式值中只使用了可能的2,就像

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

在这里,我只能使用两种可能性。但是,如果我想检查3个或更多条件,我该怎么办?

4 个答案:

答案 0 :(得分:12)

如果您有更多条件,请使用Switch,它也更具可读性。

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

rdlc expression iif use?

答案 1 :(得分: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)

答案 2 :(得分:3)

切换和自定义代码看起来不错,谢谢大家

但如果你坚持使用iif()条件,那么

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

好的,再见

答案 3 :(得分:3)

试试这个:

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

格式为:

=iif(expression=value, true, false)

你可以改变:

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