MM/dd/yyyy 形式の文字列日付フィールドを持つレポートの列を作成します。これらの列の一部には、空の文字列が含まれている場合があります。セクションの並べ替えに問題があります。私は Telerik の報告に約 10 時間かかっているので、明らかな何かを見落としている可能性があります。
私は最初、次のような表現を使用しようとしました。
=IIf(Fields.ExpirationDate='', CDate('1/1/1990'), CDate(Fields.ExpirationDate))
それは正しいように見えますか?これによりエラーが発生しました: レポート '' の処理中にエラーが発生しました: 配列内の 2 つの要素を比較できませんでした。
------------- 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) で呼び出そうとしました
これはエラーをスローします:
レポート '' の処理中にエラーが発生しました: 配列内の 2 つの要素を比較できませんでした。------------- InnerException ------------- 式に未定義の関数呼び出し EmptyDateToNow() が含まれています。