在ssrs中写两个条件不起作用

时间:2016-06-15 15:52:35

标签: asp.net reporting-services reportingservices-2005

我有一个文本框和一个复选框。我在这两个字段的基础上编写页面可见性表达式。我有以下情况

  1. 如果存在文本框值并选中复选框,则应显示该页面。

  2. 如果存在文本框值且取消选中复选框,则该文本框不应显示。

  3. 如果文本框值不存在且选中了复选框,那么它应该不可见。
  4. 如果文本框值不存在且未选中复选框,则它也不应显示。
  5. 我希望页面仅在文本框有值且未选中复选框时才可见。 我试过以下表达式

    =IIF(
          (
            NOT(IsNothing(First(Fields!CoverLetterText.Value, "ReviewInformationDataSet"))) 
            AND Parameters!CoverLetter.Value = true
          ),
          true,
          false
        )
    

    这里

    First(Fields!CoverLetterText.Value, "ReviewInformationDataSet")是我的文本框值

    Parameters!CoverLetter.Value是复选框位结果。 但是这个表达不起作用。

    任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

你的问题不清楚但是让我们说你想要的是你的第一个条件,而不是它下面的另一个条件。这是答案:

=IIF(
     (IsNothing(First(Fields!CoverLetterText.Value, "ReviewInformationDataSet"), false, true)= true 
     AND Parameters!CoverLetter.Value = true), true, false
    )

*我删除了NOT表达式,因为它只是IsNothing的反向。我的回答只是说:

=IIF((CoverLetterText.hasvalue = TRUE AND CoverLetter.ischecked = TRUE) THEN TRUE ELSE FALSE)

以下是表达式中的问题:

=IIF(
      (
        NOT(IsNothing(First(Fields!CoverLetterText.Value, "ReviewInformationDataSet"))) //if Fields!CoverLetterText.Value is NOT IsNothing then what? 
        AND Parameters!CoverLetter.Value = true
      ),
      true,
      false
    )

注意:如果您想要的是另一个,至少我向您展示如何解决您的问题,只需改变条件。