在報告中有一個字符串日期字段,格式爲MM/dd/yyyy。其中一些列可能包含空字符串。排序某個部分時出現問題。我約10小時到telerik報告,所以我可能會失去一些明顯的東西。根據Telerik報告可能爲空的日期進行排序
我最初試圖用這樣的表達:
=IIf(Fields.ExpirationDate='', CDate('1/1/1990'), CDate(Fields.ExpirationDate))
這是否看起來是正確的?這引發了一個錯誤: 處理報告「'時發生錯誤: 未能比較數組中的兩個元素。
------------- InnerException ------------- An error has occured while executing function CDate(). Check InnerException for further information. ------------- InnerException ------------- Exception has been thrown by the target of an invocation. ------------- InnerException ------------- String was not recognized as a valid DateTime.
使用自定義的方法中的另一顯影劑建議所以我創建內部的report.cs文件
public DateTime EmptyDateToNow(string expirationDate)
{
DateTime parsed;
if (!DateTime.TryParse(expirationDate, out parsed))
return DateTime.Now;
return parsed;
}
,然後試圖與= EmptyDateToNow(Fields.ExpirationDate)
和這將引發調用錯誤:
An error has occured while processing Report '': Failed to compare two elements in the array. ------------- InnerException ------------- The expression contains undefined function call EmptyDateToNow().