By design, the month view in RadScheduler stacks the appointments for a certain day considering the start time of the appointments and their duration. Internally, it uses MonthViewEventsComparer which would be great to be replaceable somehow.
This feature is required for OpenEdge scenarios. A common case is that the resource_id field is stored as an integer field in your DataSource. But RadScheduler needs EventId type. You can have a look at the Appointment.ResourceId property which expects EventId value, not an integer. It is necessary to use a SchedulerMapping in this case and convert the integer value to EventId used by RadScheduler and convert the EventId to an integer used by your DataSource. This conversion is performed by the ConvertToDataSource and ConvertToScheduler callbacks. It is responsible for the proper conversion of the integer resource_id value coming from the DataSource to the RadScheduler's EventId. Additional information for the SchedulerMapping is available here: http://docs.telerik.com/devtools/winforms/scheduler/data-binding/scheduler-mapping In C#, it is just necessary to specify the name of the callback which will handle the conversion but it seems to be a problem in ABL. It is required to have events.
Currently, the control lacks such support and when this culture is used an exception is thrown. To reproduce use the sample project and press the navigator's Next button several times. StackTrace: System.ArgumentOutOfRangeException occurred HResult=-2146233086 Message=Year, Month, and Day parameters describe an un-representable DateTime. Source=mscorlib StackTrace: at System.DateTime.DateToTicks(Int32 year, Int32 month, Int32 day) at Telerik.WinControls.UI.DateHelper.GetEndOfMonth(DateTime date, DateTimeFormatInfo dateTimeFormat) at Telerik.WinControls.UI.DateHelper.GetMonthDisplayWeeks(DateTime date, DateTimeFormatInfo dateTimeFormat) at Telerik.WinControls.UI.SchedulerNavigatorElement.NavigateBackwards() at Telerik.WinControls.UI.SchedulerNavigatorElement.OnNavigateBackwards(Object sender, EventArgs e) at Telerik.WinControls.UI.SchedulerNavigatorElement.NavigateButton_Click(Object sender, EventArgs e) at System.EventHandler.Invoke(Object sender, EventArgs e) at Telerik.WinControls.RadElement.OnClick(EventArgs e) at Telerik.WinControls.UI.RadButtonItem.OnClick(EventArgs e) at Telerik.WinControls.UI.RadButtonElement.OnClick(EventArgs e) at Telerik.WinControls.RadElement.DoClick(EventArgs e) at Telerik.WinControls.RadElement.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args) at Telerik.WinControls.RadItem.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args) at Telerik.WinControls.RadElement.RaiseRoutedEvent(RadElement sender, RoutedEventArgs args) at Telerik.WinControls.RadElement.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args) at Telerik.WinControls.RadItem.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args) at Telerik.WinControls.RadElement.RaiseRoutedEvent(RadElement sender, RoutedEventArgs args) at Telerik.WinControls.RadElement.DoMouseUp(MouseEventArgs e) at Telerik.WinControls.ComponentInputBehavior.OnMouseUp(MouseEventArgs e) at Telerik.WinControls.RadControl.OnMouseUp(MouseEventArgs e) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at Telerik.WinControls.RadControl.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.Run(Form mainForm) at SchedulerShamsiTest.Program.Main() in c:\Users\dyordano\Desktop\RadSchedulerFixPersianLocale (1)\SchedulerShamsiTest\Program.cs:line 19 InnerException:
Add Reminder property to the AppointmentMappingInfo class.
Add support for parsing hourly recurrence rules from a database.
Description: Using the AppointmentFormatting event, setting the AppointmentElement's TextOrientation property to Vertical should paint the content text in the corresponding orientation.
The request is covered here - http://feedback.telerik.com/Project/154/Feedback/Details/107090-fix-radscheduler-monthly-print-style-does-not-take-into-consideration-the-week Resolution: In Q2 2014 we introduced new feature: WeeklyCalendarPrintStyle. More information you can find in our help: http://www.telerik.com/help/winforms/scheduler-print-support-schedulerprintstyle.html, section WeeklyCalendarStyle
EnableExactTimeRendering property should get or set a value indicating whether the appointment start and end time should be rendered exactly.
Add the ability to change the width of the group headers when the scheduler is grouped by Resource. Resolution: You can set the size using code snippet: ((SchedulerViewGroupedByResourceElementBase)this.radScheduler1.ViewElement).SetResourceSize(0, 0.5f);
Add an option for SchedulerMonthlyPrintStyle to show the text of the appointments, not only the dates.
Expose some of the printing methods to allow derived classes to override them for greater customization support.
RadScheduler - Implement functionality that will allow clients to define which time intervals should be visible in TimeLine view.
When printing the timescale in the printed document should be the same as in the scheduler or with option for changing.
Paint event should be thrown when a SchedulerCellElement is painting.
Add the ability to have a scrollbar in the cell where AllDay appointments are stored. The scrollbar should show after a certain amount of AllDay appointments have been added.
Add the ability to display the text in appointments vertically.
IMPROVE. RadScheduler - Add CellSelected event that will be firing when the cell is selected.
Check out the Outlook vertical scrolling abilities in MonthView
As an example, if an appointment starts at 12 o'clock on one day and ends at 12 o'clock on the next day, it should be positioned to start in the middle of the first day cell and end in the middle of the next day, instead of filling both days.
ADD. Scheduler - add possibility to increase the height of the line showing the current time