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
225
UltraTimelineView: keep appointment Y position
posted

I have an UltraTimelineView with appointments in it. Lets say, I have these three appointments for 1 owner:

A1: 08:00 AM - 12:00 AM

A2: 1:00 PM - 5:00 PM

A3: 8:30 AM - 9:00 AM

So the output will produce 2 "rows" of appointments. In row 1 there is A1 and A2. In row 2 there is A3. Hope you can still follow ...

Now, I start dragging A3 to the right. As soon as A3 hits the gap between A1 and A2 the appointment jumps to row 1. There is my problem: I don't want that to happen. I want it to keep the initial Y position of the appointment.

I haven't found any properties related to that, so I tried the DrawFilter. In the GetPhasesToFilter Method I hooked up the AppointmentUIElement in the BeforeDrawElement Phase. For testing purposes I offset the AppointmentUIElement for 10 pixels (Y) and return true to keep the internal drawing routine. This don't work: The appointment isn't drawn or only a part of the border is drawn. It is somehow fully drawn as soon as I lift the mousebutton (I am still in the drag'n'drop operation) AND move the cursor at least 1 pixel. But the appointment isn't drawn completely. A border with a width of 1 pixel is missing. Its not the outer border of the AppointmentUIElement, but I think the inner border of the EditorWithTextDisplayTextUIElement of the AppointmentUIElement. 

So, is there a way to keep the Y position of an appointment that I drag and drop? (I use IG v10.3, Visual Studio 2010, C#)

Parents
  • 69832
    Offline posted

    Stefan Oellerich said:
    So, is there a way to keep the Y position of an appointment that I drag and drop?

    In short, no. The control was designed to position the appointments from top to bottom based on their start time and duration, and also with respect to intersecting appointments. To maintain an absolute row position would imply that each appointment would have to position itself with respect to all appointment, not just the ones that are visible on the timeline. In the case where there is a large number of appointments, this could cause them to never appear in the viewable area, if its virtual row placed it somewhere below the bottom edge of the control.

Reply Children