VS2012 SSRS报告中的IsNothing()导致错误

时间:2013-08-16 15:48:12

标签: c# asp.net sql reporting-services rdlc

我正在VS 2012(ASP.net,C#)中制作RDLC报告并尝试显示是/否字段。我们的测试数据在此字段中为空,我想将其显示为否。根据我发现的所有研究(包括SO),其代码为:

=iif( IsNothing(Fields!prior_supplier.Value), "No", iif(Fields!prior_supplier.Value = "Y", "Yes", "No"))

(这将在报告中显示为:“我们之前是否使用此供应商?否”。)

然而,IsNothing()调用的内容不会出错。我在表达式构建器中有“编译失败”指示符,报告中的结果是 #Error

如何修复我的IsNothing()表达式?我误解了什么?

ETA:也许这与表达式在VB中运行并且不会短路的事实有关?

ETA2:我将字段prior_supplier放入文本框中以确保。结果表达式=Fields!prior_dod_supplier.Value也无法编译。 :困惑:

1 个答案:

答案 0 :(得分:2)

我将视图中的字段更改为表达式

ISNULL(prior_supplier, 'N') AS prior_supplier

然后在报告中使用表达式

=iif(Fields!prior_supplier.Value = "Y", "Yes", "No")

这解决了#Error问题。