3

我正在 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也无法编译。:使困惑:

4

1 回答 1

2

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

ISNULL(prior_supplier, 'N') AS prior_supplier

然后在报告中使用表达式

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

这解决了#Error 问题。

于 2013-08-16T18:56:25.957 回答