通过阅读SO的一些问题和答案,我知道IIF同时执行对和错。我似乎无法理解如何正确检查和处理null。
以下是我尝试给出的#Error的一些语句,
=switch(
First(Fields!ShelfLife.Value, "DQA")="N/A", "N/A",
First(Fields!ShelfLife.Value, "DQA")<>"N/A", (FormatNumber(First(Fields!ShelfLife.Value, "DQA"), 1))
)
=IIf(
First(Fields!ShelfLife.Value, "DQA")="N/A",
"N/A",
IIf(
IsNothing((First(Fields!ShelfLife.Value, "DQA"))),
"Test",
(FormatNumber(First(Fields!ShelfLife.Value, "DQA"), 1))
)
)
是否有一种方法可以获取有关该语句的问题的消息?同样重要的是,如何解决收到的错误?
答案 0 :(得分:1)
前一段时间,我们遇到了这样的问题。它不是也不是完全理想,但是我们的工作涉及像这样将两个数据源传递给报表:
this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("first", Source1 as DataTable));
this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("second", Source2 as DataTable));
为进一步说明这一点,Source1和Source 2是相同的。在上述各行之前,请对Source1进行一些检查和操作。因此表达式应如下所示:
=switch(
First(Fields!ShelfLife.Value, "DQA1")="N/A", "N/A",
First(Fields!ShelfLife.Value, "DQA1")<>"N/A", (FormatNumber(First(Fields!ShelfLife.Value, "DQA2"), 1))
)