Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
1320
Calendar Drag/Drop Issue
posted

During Quality Assurance testing of my scheduling application, which has been built on a variety of Infragistics WinSchedule controls, my test engineer unwittingly discovered an interesting issue for which I would like to seek clarification within this forum if possible. My application uses the UltraCalendarInfo component with the five main WinSchedule controls to give it a look and feel similar to that of MS Outlook; i.e. it uses the UltraDayView, UltraWeekView, UltraMonthViewSingle, UltraMonthViewMulti and UltraTimelineView controls.

I have coded for the ability for users to be able drag and drop (i.e. move) Appointments in each of these controls other that the UltraMonthViewMulti control, and for the most part they work perfectly. The only problem I have is when the user takes the unusual action of dragging an Appointment with the left mouse button from one element to another (e.g. from one Owner to another in the UltraDayView and UltraTimelineView controls; or from one day to another in the UltraWeekView and UltraMonthViewSingle controls) and then once moved clicks on the right mouse button while the left mouse button is still depressed.  The controls nearly all act differently and as follows:

  • UltraTimelineView. In this control the dragged Appointment simply returns to its original location and no drag related events are raised - this is the type of behavior I would expect.
  • UltraWeekView and UltraMonthViewSingle.  In these controls the Appointment completely disappears from the user interface, although they are still contained within the Appointments collection of the UltraCalendarInfo component.
  • UltraDayView. In this control the dragged Appointment does move to the new Owner but the AppointmentsDragDrop event is not raised.  This is particularly annoying because the SelectedAppointments collection of the UltraCalendarInfo component is empty when read from within the AppointmentsDragComplete event, and since the AppointmentsDragDrop event is not raised it is not possible to get the Appointments property of the AppointmentsDragDropEventArgs object which is provided when the event is raised.

What I would like to see is that the one of the following takes place on the Infragistics code:

  1. Have the AppointmentsDragDrop event raised by the UltraDayView control if the user right clicks on the Appointment during a drag operation (as described above),
  2. Have the UltraDayView, UltraWeekView and UltraMonthViewSingle controls behave in the same way as the UltraTimelineView control so that the Appointment being dragged returns to it original location if right clicked on during the drag operation.

I hope this information is useful.  For ease of analysis I have attached a small sample application through which my claims can be directly observed.

Cheers, Tony T.

UltraCalendarTesting-2013-1.zip