Use attached to reproduce.
- Open the data filter dialog from the excel-like filtering on the date column.
- The date time format in the editor is not respected.
- Consider the default cell editor as well.
Workaround:
private void RadGridView1_CreateCompositeFilterDialog(object sender, GridViewCreateCompositeFilterDialogEventArgs e)
{
var dialog = e.Dialog as CompositeDataFilterForm;
dialog.DataFilter.EditorInitialized -= DataFilter_EditorInitialized;
dialog.DataFilter.EditorInitialized += DataFilter_EditorInitialized;
dialog.DataFilter.NodeFormatting -= DataFilter_NodeFormatting;
dialog.DataFilter.NodeFormatting += DataFilter_NodeFormatting;
}
private void DataFilter_NodeFormatting(object sender, TreeNodeFormattingEventArgs e)
{
var criteriaNode = e.NodeElement as DataFilterCriteriaElement;
if (criteriaNode != null)
{
var node = criteriaNode.Data as DataFilterCriteriaNode;
if (node.DescriptorValue != null && node.PropertyName == "Date")
{
criteriaNode.ValueElement.Text = ((DateTime?)node.DescriptorValue).Value.ToString("MM/dd/yyyy");
}
}
}
private void DataFilter_EditorInitialized(object sender, TreeNodeEditorInitializedEventArgs e)
{
var editor = e.Editor as TreeViewDateTimeEditor;
if (editor != null)
{
var element = editor.EditorElement as BaseDateTimeEditorElement;
element.Format = DateTimePickerFormat.Custom;
element.CustomFormat = "dd/MM/yyyy";
}
}