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

Son*_*ite 8 reportviewer iif-function rdlc

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

=iif((Fields!Gender.Value="1"),"Male","Female")
Run Code Online (Sandbox Code Playgroud)

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

Muh*_*agy 12

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

=Switch(
    Fields!Gender.Value = 1, "Male", 
    Fields!Gender.Value = 2, "Female"
    )
Run Code Online (Sandbox Code Playgroud)

rdlc表达iif使用?


cod*_*biz 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
Run Code Online (Sandbox Code Playgroud)

然后在文本框的表达式中调用该函数

= Code.GetGender(Fields!Gender.Value)
Run Code Online (Sandbox Code Playgroud)


小智 6

试试这个:

=iif(Fields!Gender.Value="1","Male", iif(Fields!Gender.Value="2","Female","Undefined"))
Run Code Online (Sandbox Code Playgroud)

格式为:

=iif(expression=value, true, false)
Run Code Online (Sandbox Code Playgroud)

你可以改变:

=iif(expression=value, true, iif(expression2=value2, true, false))
Run Code Online (Sandbox Code Playgroud)