【发布时间】:2015-01-06 10:06:47
【问题描述】:
我正在将记录集中的时间值带回到 RDLC 报告中。 (c#Visual Studio 2013)
它们的到来是一个可以为空的时间跨度。
我显示为 HH:MM
这一切看起来都很好,直到我得到一个 null ,如果没有时间记录一个 null 返回,因为它是一个可为空的时间跨度类型。发生这种情况时,我在 RDLC 报告中收到 #error。我想要发生的是要么显示 "00:00" ,要么只是空白。
我尝试在 RDLC 中的 Expression 字段中添加一个 IFF,这样如果返回 null,我什么都不显示,或者 "00:00" ,但两者都返回相同的结果,即字段中的 #error。
=IIF(IsNothing(Fields!Hours.Value),nothing,Format(TimeValue(Fields!Hours.Value.ToString),"hh:mm"))
有什么想法吗?谢谢。
解决方案更新:
感谢您的所有帮助: 这是我用来在我的情况下工作的最后一个表达式:
=IIF(Fields!Hours.Value.ToString = "00:00:00","",Format(TimeValue(Fields!Hours.Value.ToString),"hh:mm"))
【问题讨论】:
-
我有同样的问题,但你的解决方案对我不起作用 -
IIF()的第三个参数中的Fields!Hours.Value.ToString会导致#error随时Hours为空。跨度> -
@Conrad 您在下面尝试过 Thorsten 的答案吗,也许他的答案对您有用?
-
那也没用。作为一种解决方法,我结束了将上游值取消为空。