デフォルトでは、検証は行われません。あなたの場合、データを検証するのではなくDataGridView
、基になる型を検証しますDateTime
。
本当に datetime 型の列を保持したい場合DateTime
は、すべての入力データを、選択した単一の形式に変換する必要があります。実行時に特定のカルチャに変換することで、別の方法で表示することもできます (内部的には既定のカルチャのままです) (ただし、このデータが読み取り専用でない場合は、追加のコードと注意が必要です)。
ここに私が意味するコードスニペットがあります-データをDateTime
カルチャA(Thread
または自分で定義)のように保存し、特定のカルチャBに変換された文字列として表示します.
ユーザーが任意の形式で日付を入力しようとすると、正しく解析され、カルチャ B に保存されます (ただし、ユーザーにはその特定のカルチャ A で表示されます)。
ここでの問題 - クライアントが保存後に B 以外のカルチャで日付を入力すると、視覚的に B に変換されます。
これは、入力する List のプロパティですDataGridView
private DateTime _dt1;
public string dt1 {
get
{
return _dt1.ToString(new CultureInfo("nl-NL"));
}
set
{
_dt1 = DateTime.Parse(value);
}
}
strings
並べ替えの問題について - 表示されていないが、それらの基本的なDateTime
プロパティを比較するカスタム並べ替えを実装するのは比較的簡単です