The UltraDateTimeEditor usually don't set a value to the editor when the header controls on the dropdown area are cicked.
But when the application is launched from citrix, the editor is set with date, when the header controls are clicked.
I have not added any events to the UltraDateTimeEditor control.
Am not sure whether this is a Citrix problem or Infragistics problem.
This issue only happens when the application is launched from citrix.
(Picture is attached showing where I clicked on the header control and what value is appearing on the editor.)
Thank you.
Hi Toji,
Mike has been discussing this issue with me and I thought I'd try to clear up what's happening here.
I assume by "the primary issue" you mean that if you run Mike's Sample and drop down the first control (which is an UltraMaskedEditor) and then click on the Month or header buttons, the date changes. If I understand correctly, this is what you do NOT want to happen. But this is what's happening when your application runs over Citrix. Correct?
Just to be clear, the issue in this case, is that Mike's sample is not using the UltraDateTimeEditor. He's created a simulated DateTimeEditor using the Masked Editor and the Microsoft MonthCalendar control and he is changing the text portion of the masked editor any time the DateChanged event of the MonthCalendar fires - which it does when you click on the header.
The UltraDateTimeEditor control actually uses the Microsoft MonthCalendar and internally, it responds to the DateChanged event of the MonthCalendar to update it's text portion. However, it also has some code to trap MouseDown and detect when the user clicks on the header and in this case it deliberately does NOT update the text (date) when you click on the header.
So clearly what's happening here is that when you run your application on Citrix, something is going wrong with this process. Either Citrix is not sending the mouse messages to the control in the exactly the same order, or there is some kind of timing or focus issue which is preventing the UltraDateTimeEditor from properly detecting that you clicked on the header. So it ends up changing the text when it should not.
There's really not much we can do about this, as we don't have any control over the messages Citrix is sending to the control.
My recommendation would be to use UltraCalendarCombo instead of UltraDateTimeEditor. The UltraCalendarCombo doesn't rely on any of the Microsoft controls and thus it's not likely to have the same kinds of issues.
Still the primary issue exists even in the attached example.
Hello Toji,
I've done some more research and found that the MonthCalendar does in fact change it's SelectionRange when you click the header portion because the DateChanged event is fired. If the DateChanged event is fired from clicking the header portion then I would expect the DateTimeEditor and DatePicker's values to update accordingly. This behavior mimics Citrix but doesn't explain why our DateTimeEditor is performing this way under that environment but it will give you an idea that the value is in a position to update.
You can test the differences between the controls by creating your own dropdown control very easily and use the MonthCalendar; by using our UltraMaskEditor or UltraTextEditor and add a dropdown button that hosts the Month Calendar. The only way I found to update the editor's value was to use the start of the new range which is updated when you click on the control. You will notice immediately that if the text is null it will assign the value of the current date when the header portion is clicked.
I assume Infragistic's was using Microsoft's "Month Calendar" control in Infragistic's UltrDateTimeEditor control.What verion on Microsoft's "Month Calendar" control was Infragistics using?
If Microsoft has fixed the issue, can infragistics Update the UltraDateTimeEditor to use the latest microsoft's calendar ortell me how can I replace the UltraDateTimeEditor's calender portion with Microsoft's calendar?
Thank you for clarifying the behavior in the environments you tested in but this makes it all that more difficult to resolve since the calendar portion is Microsoft's control. It's highly possible that Citrix once behaved that way with the DatePicker and Microsoft fixed that. But knowing that we use their MonthCalendar control we can't make a change like that. I couldn't even find events that are triggered when clicking the text. I was trying to find a way to clear the textbox without any luck.