Наличие в отчете столбца с полем строковой даты в формате ММ / дд / гггг. Некоторые из этих столбцов могут содержать пустые строки. Возникла проблема с сортировкой раздела. У меня около 10 часов, чтобы сообщить телерику, поэтому я могу упустить что-то очевидное.
Сначала я попытался использовать выражение, подобное этому:
=IIf(Fields.ExpirationDate='', CDate('1/1/1990'), CDate(Fields.ExpirationDate))
Это выглядит правильно? Это бросило ошибку:
Произошла ошибка при обработке отчета '':
Не удалось сравнить два элемента в массиве.
------------- InnerException ------------- Произошла ошибка при выполнении функции CDate ().
Проверьте InnerException для дальнейшего
Информация.
------------- InnerException ------------- Исключение было сгенерировано целью вызова.
------------- InnerException ------------- Строка не была распознана как действительный DateTime.
Другой разработчик предложил использовать пользовательский метод, поэтому я создал файл report.cs
public DateTime EmptyDateToNow( string expirationDate )
{
DateTime parsed;
if (!DateTime.TryParse(expirationDate, out parsed))
return DateTime.Now;
return parsed;
}
, а затем попытался вызвать с помощью = EmptyDateToNow (Fields.ExpirationDate)
и это выдает ошибку:
Произошла ошибка при обработке
Отчет '': не удалось сравнить два
элементы в массиве.
------------- InnerException ------------- Выражение содержит неопределенный вызов функции
EmptyDateToNow ().