当Visual Studio 2012报告(.sdlc)中null时,如何给出默认值的默认值



我正在使用对象数据源在Visual Studio 2012报告(.sdlc)上工作。对象数据源的日期时间可用吗?财产。我想显示" - " null时显示" - ",然后将日期格式化为'dd-mmm-yy',而不是null。

我尝试了以下表达式,但在报告的文本框中始终收到" #Error"。

注意:在这两次尝试中,文本框上的"格式"预测设置为" dd-mmm-yy"。

=IIf(IsNothing(Fields!OpenInDRMADate.Value), "-", Fields!OpenInDRMADate.Value)
=IIf(IsDate(Fields!OpenInDRMADate.Value), "-", Fields!OpenInDRMADate.Value)

我认为"格式"属性依赖于DateTime类型,因此我尝试将值转换为表达式中的字符串,但仍然获得了'#error'

=IIf(IsNothing(Fields!OpenInDRMADate.Value), "-", FormatDateTime(Fields!OpenInDRMADate.Value, DateFormat.ShortDate))
=IIf(IsDate(Fields!OpenInDRMADate.Value), "-", FormatDateTime(Fields!OpenInDRMADate.Value, DateFormat.ShortDate))

如何显示为null DateTime值的" - "?

我认为您可能还有其他事情,因为我尝试了

=IIf(IsNothing(Fields!OpenInDRMADate.Value), "-", Fields!OpenInDRMADate.Value)

将格式属性设置为 dd-MMM-yy并获得了null日期的破折号。

我也尝试了

=IIf(IsNothing(Fields!OpenInDRMADate.Value), "-", FormatDateTime(Fields!OpenInDRMADate.Value, DateFormat.ShortDate))

没有格式属性,并且再次获得了nulls的破折号。

这是在VS2008中。

也许您在那个对象上有另一个表达式(例如,对于颜色)?

我在标题文本框中的日期也有同样的问题。

= iif(isdate(fields!licendeddate.value)= false,",formatdateTime(iif(iSdate(fields!licendeDdate.value)=" 1",fields!licendeddate.value," 01/01/1900"),dateformat.shortdate))

))

这有效

我只是不明白

formatdateTime(iif(iSdate(fields!licendeDdate.value)=" 1"< - " 1"是什么?

相关内容

  • 没有找到相关文章

最新更新