Let me explain a bit further. If you have DATE column in your table, it does not have any format string, it is Date
object. You see it in "yyyy-MM-dd", only
when the database viewer (or the VS debugger) that are using is casting it to such format to display
it in human readable way for you(instead of showing ones and zeroes). It could depends on your culture/regional settings.
When you use the filtering, the DateInput
inside the filter has 3 different properties: .Text, .SelectedDate and .DbSelectedDate.
First is string, and keeps the value in format like: yyyy-MM-dd. You should not use this string for binding.
Second gets and sets a DateTime object, and can be used if you want to select a value from your C# code, and you have the value in proper DateTime object.
And the last one called DbSelectedDate is property that works with objects and tries to cast them the way that to work with various of data sources.
On the other hand, you have the ClientSide functionality of the DateInput. It always shows human readable string in the html <input> element. It depends on the DateFormat and DisplayDateFormat. This does not reflect any way to the server side properties, and you can use it if you want your user to see the value like yyyyMMdd, yyyy/MM/dd, dd/MM-yyyy, whenever you like. Setting these properties only changes the way that user sees the date when the input is in focus and when the input is not in focus. It does not reflects to the Server side properties, and they will always work for your filtering.
In short, do not change the FilterDateFormat, if you don't want problems (indeed it will work correct if left by default). Change only the DateFormat of the DateInput created for your filter.
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to the blog feed