【问题标题】:rdlc expression iif use?rdlc 表达式 iif 使用?
【发布时间】:2010-11-03 05:54:13
【问题描述】:

在 rdlc 报告中,我想比较像

这样的整数
if(expression)
{
     // do something
}
else if(expression)
{
     // do something else
}

这是什么语法?

【问题讨论】:

    标签: rdlc


    【解决方案1】:

    我更喜欢 Switch 语句,而不是使用嵌套的 IIF 语句。

    来自 MSDN...

    =Switch(
        Fields!PctComplete.Value >= 10, "Green", 
        Fields!PctComplete.Value >= 1, "Blue", 
        Fields!PctComplete.Value = 1, "Yellow", 
        Fields!PctComplete.Value <= 0, "Red"
        )
    

    希望对您有所帮助:)

    【讨论】:

    • 谢谢它的工作现在我有另一个问题希望你帮助我......我有三种类型的板像:GOOD,REMOVED,NOTFOUND......我想要一个关于rdlc的报告,告诉我板像下面这样输入数量 Thana Good Removed NotFound A 5 2 4 B 4 1 0 我该怎么做
    • 我不太明白你的意思?你能以任何方式改写这个问题吗,你的例子已经失去了它的格式,因为它是一个评论。
    【解决方案2】:

    您必须像这样嵌套 IIF 语句:

     = IIF (expression = 1, "Is 1", IIF (expression = 2, "Is 2"))
    

    【讨论】:

    • 谢谢现在如果我想比较字符串呢?我在做什么.... 比如 int Total=0 if(expression=="Good") then TotalIncrease
    • 在这个意义上你不能有变量。您可以将“IIF”嵌套在 SUM 或其他某种聚合函数中... =Sum(IIF(expression = "Good", 1, 0))。类似的东西。
    【解决方案3】:

    改用开关。我知道我来晚了,但希望它可以帮助别人。

    =Switch(Fields!Parameter.value = 2,"somethingnew", 1=1 ,"somethingelse")
    

    1=1 指的是 switch case 中的默认值。

    类似

    if(Parameter.Value == 2)
    {
    somethingnew
    }
    else
    {
    somethingelse
    }
    

    【讨论】:

      【解决方案4】:

      这是满足您要求的语法:

      =IIf(CInt(Fields!expression1.value)==1,true,IIf(Cint(Fields!expression2.value)==2,true,nothing))
      

      在真部分可以指定要执行的语句。

      【讨论】:

        【解决方案5】:

        除了已经说过的,If(condition, true_part, false_part)三元运算符应该(有一个I)优于IIf(condition, true_part, false_part)函数(有两个I's) 在大多数情况下。

        If() ternary operator 将仅评估与条件结果相对应的部分(例如,True 的条件将仅评估 true_part)。

        IIf() 函数将始终评估条件和两个部分,因为它只是一个函数调用,函数的所有参数都将在调用之前进行评估。

        由于开发人员通常希望在 IF 语句中进行短路评估,因此使用 If() 三元运算符应该是默认选择。 它允许您运行检查 Nothing 的表达式,如下所示,如果没有惰性求值,它将无法工作:

        =If(Fields!Blog.Value IsNot Nothing, Fields!Blog.Value.Name, "Blog is missing")
        

        【讨论】:

          【解决方案6】:

          你也可以试试这个例子

          = IIF(Parameters!expression.Value = True, 'somethingnew', 'somethingelse')

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2018-07-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-05-21
            • 2019-01-29
            相关资源
            最近更新 更多