Как обнуляемому значению DateTime присваивается значение по умолчанию при нулевом значении в отчете Visual Studio 2012 (.sdlc)
Я работаю над отчетом Visual Studio 2012 (.sdlc), используя источник данных объекта. Источник данных объекта имеет обнуляемый DateTime? имущество. Я хотел бы отобразить "-", когда null, а затем отформатировать дату как "dd-MMM-yy", когда не ноль.
Я пробовал следующие выражения, но всегда получал "#Error" в TextBox в отчете.
Примечание. В этих двух попытках свойство 'Format' в TextBox установлено на 'dd-MMM-yy'.
=IIf(IsNothing(Fields!OpenInDRMADate.Value), "-", Fields!OpenInDRMADate.Value)
=IIf(IsDate(Fields!OpenInDRMADate.Value), "-", Fields!OpenInDRMADate.Value)
Я думал, что свойство 'Format' полагается на тип DateTime, поэтому я попытался преобразовать значение в строку в выражении, но все же получил '#Error'
=IIf(IsNothing(Fields!OpenInDRMADate.Value), "-", FormatDateTime(Fields!OpenInDRMADate.Value, DateFormat.ShortDate))
=IIf(IsDate(Fields!OpenInDRMADate.Value), "-", FormatDateTime(Fields!OpenInDRMADate.Value, DateFormat.ShortDate))
Как я могу показать "-" для нулевых значений DateTime?
2 ответа
У меня была такая же проблема с датой в текстовом поле заголовка.
= IIF (ISDATE (Fields! LICENCEDDATE.value) = False, "", formatdatetime(IIF(IsDate(Fields!LICENCEDDATE.value) ="1", поля!LICENCEDDATE.Value,"01/01/1900"),dateformat.ShortDate))
Это работает
Я просто не понимаю
formatdatetime(IIF(IsDate(Fields!LICENCEDDATE.value) ="1" <- что означает "1"???
Я думаю, у тебя может быть что-то еще, потому что я пытался
=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.
Может быть, у вас есть другое выражение (например, для цвета) для этого объекта, который вызывает проблему?