8

我在 rdlc 表达式值中只处理了可能的 2

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

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

4

4 回答 4

12

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

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

rdlc 表达式 iif 使用?

于 2013-03-17T11:27:02.083 回答
9

您可以使用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)
于 2012-07-27T13:00:09.817 回答
5

试试这个:

=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))
于 2014-12-08T07:33:54.000 回答
3

开关和自定义代码看起来不错,谢谢你们

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

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

好的,再见

于 2013-07-03T08:21:19.503 回答