あなたはCustomFormat
プロパティを見て、それはあなたが設定しようとしているテキストに合う確認する必要があります。 MSDNから
からDateTimePicker.Text Property
:
The string returned by this property is equivalent to the Value property with the appropriate formatting or custom formatting applied. For example, if the Value property is set to 06/01/2001 12:00:00 AM while the CustomFormat property is set to "dddd, MMMM dd, yyyy", the Text property value is "Friday, June 01, 2001".
When setting this property, the string must be convertible to an instance of the DateTime class. It is possible to define a custom format that results in a string that cannot be converted to a valid DateTime value. Because of this, the string returned from the Text property might cause an error if it is passed back to the Text property. If the string cannot be converted to a date/time value, the DateTime class throws a FormatException.
DataGrid内の列がすでにDateTime
であれば、文字列を使用する必要はありません、単にピッカーに割り当てる:
dateTimePicker_ddn.Value = (DateTime)dgv_patients[9, currentRow].Value;
コメントごとに別のオプションを使用することです。DateTime.ParseExact
例:
DateTime dt = DateTime.ParseExact("02-May-95", "dd-MMM-yy", CultureInfo.InvariantCulture);
またはあなたの場合は正確に:
dateTimePicker_ddn.Value = DateTime.ParseExact(
dgv_patients[9, currentRow].Value.ToString(),
"dd-MMM-yy",
CultureInfo.InvariantCulture);
エラーメッセージは、文字列自体のフォーマットよりも重要です。 「インデックス0から始まる不明な単語があります」は、通常の互換性のない日付形式のエラーメッセージではありません。 dnnがDatePickerに割り当てられる前にdnnを見たり、インデックス0にあるものを表示したり、その情報をここで共有したりできますか? – Snympi
お元気でありがとう!私は、datagridviewの最後にボタンの列を追加しました。この列は、datagridviewの穴の列のインデックスを変更しました。そのため、インデックス0はこの新しい列から開始し、1が最初の列です...私のdatetimepickerでは、columnの別の値が日付ではなくdatetime pickerになるためです! – HasanHajjar
答えとして私のコメントを追加しました。 – Snympi