我正在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
也无法编译。 :困惑:
答案 0 :(得分:2)
我将视图中的字段更改为表达式
ISNULL(prior_supplier, 'N') AS prior_supplier
然后在报告中使用表达式
=iif(Fields!prior_supplier.Value = "Y", "Yes", "No")
这解决了#Error问题。