Can anyone explain why although the MaxDate property is a DateTime you cannot set it to DateTime.MaxValue.
i.e. myDateEditor.MaxDate = DateTime.MaxValue; causes an exception.
I had a look with reflector, on the set of the property a comparation is made to a private static variable called "defaultMaxDate", if the value is greater than defaultMaxDate the out of range exception is thrown. It appears the value of defaultMaxDate is 31/12/998 (DateTime.MaxValue is 31/12/999).
Im just a bit confused as to what purpose this serves ?
Thanks
Hi Mark,
I took a look and found some notes from the developers about why we do this:
// Note that we do this because for some reason the static // DateTime.MinValue property doesn't show up in the VB property grid (???), and // MaxValue shows up, but with the time portion (11:59) // // Furthermore, the static DateTime.MaxValue is 12/31/9999, and the default MaxDate // for the MonthCalendar control (which is used both by the DateTimeEditor and the VB // property grid) is 12/31/9998
Hi Mike,
If I add a new datarow to my dataset I initialize my dateFrom to TODAY and my dateTo to DateTime.MaxValue. Bound this fields to DateTimeEditor looks as expected: the dateTo Field is empty because the Date is not valid that means my daterange is 'open' to the end.
But on validating, I see that the date from the editor is set to somewhat 01.01.0001. Setting the value to the maxDate the control can handle, but it is displayed by the control.
How initialize a open date range from today forward ? How to prevent displaying min- and max-dates?
Regards. Markus