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.
Hello Toji,
Thank you for following up. I've researched this in a non-citrix environment and our DateTimeEditor's textbox portion updates the date when navigating with the arrow buttons. But as you've described once you click the header, the arrow buttons or the header won't update the year as you navigate outwards and to another date.
It appears Citrix is honoring the behavior of the regular inbox DateTimPicker. In other words Citrix appears to be behaving normal, but outside the only way to update the date is actually clicking on the date or changing the month. Do you require the textbox to update as you enter the header portion as you change the view?
The UltraDateTimeEditor ver is infragistics4 v13.2 for winforms.
My .net framework version is 4.5
In non-citrix environment everything is working normal.
But in citrix environment, when I click on the next/back arrow or on the month text in the middle of the dropdown header, then only the date is getting updated in the textbox portion of the UltraDateTimeEditor.
Usually in non citrix environment, the texbox portion won't update in like that in the above case.
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.
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?
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.
Still the primary issue exists even in the attached example.
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.