Visual studio Visual Studio 2012报表(.sdlc)中为null时,如何为可为null的日期时间指定默认值
我正在使用对象数据源编写Visual Studio 2012报表(.sdlc)。对象数据源具有可为空的DateTime?财产。如果为空,我希望显示“-”,如果不为空,则将日期格式化为“dd-MMM-yy” 我尝试了以下表达式,但在报告的文本框中始终收到“#Error” 注意:在这两次尝试中,文本框上的“格式”属性设置为“dd MMM yy”Visual studio Visual Studio 2012报表(.sdlc)中为null时,如何为可为null的日期时间指定默认值,visual-studio,reporting-services,sdlc,Visual Studio,Reporting Services,Sdlc,我正在使用对象数据源编写Visual Studio 2012报表(.sdlc)。对象数据源具有可为空的DateTime?财产。如果为空,我希望显示“-”,如果不为空,则将日期格式化为“dd-MMM-yy” 我尝试了以下表达式,但在报告的文本框中始终收到“#Error” 注意:在这两次尝试中,文本框上的“格式”属性设置为“dd MMM yy” =IIf(IsNothing(Fields!OpenInDRMADate.Value), "-", Fields!OpenInDRMADate.Value)
=IIf(IsNothing(Fields!OpenInDRMADate.Value), "-", Fields!OpenInDRMADate.Value)
=IIf(IsDate(Fields!OpenInDRMADate.Value), "-", Fields!OpenInDRMADate.Value)
我认为'Format'属性依赖于DateTime类型,所以我尝试将值转换为表达式中的字符串,但仍然得到了'#错误'
我如何为空的日期时间值显示“-”呢?我想您可能会有其他原因,因为我尝试了
=IIf(IsNothing(Fields!OpenInDRMADate.Value), "-", Fields!OpenInDRMADate.Value)
将Format属性设置为dd MMM yy
,并获取空日期的破折号
我也试过了
=IIf(IsNothing(Fields!OpenInDRMADate.Value), "-", FormatDateTime(Fields!OpenInDRMADate.Value, DateFormat.ShortDate))
没有Format属性,并且再次得到了空的破折号
这是在VS2008年
可能是该对象上的另一个表达式(例如,颜色)导致了问题?我在标题文本框中遇到了与日期相同的问题 =IIF(ISDATE(Fields!licensedDate.value)=False,“, formatdatetime(IIF(IsDate(Fields!licensedDate.value)=“1”,Fields!licensedDate.value,“01/01/1900”),dateformat.ShortDate) 这很有效 我只是不明白 formatdatetime(IIF(IsDate)(Fields!licensedDate.value)=“1”请将问题作为答案发布。这是答案部分。
=IIf(IsNothing(Fields!OpenInDRMADate.Value), "-", FormatDateTime(Fields!OpenInDRMADate.Value, DateFormat.ShortDate))