Html rendered text is not clipped correctly in the visual appointment's bounds.
If you have 3 appointments at 13:00, 2 of which end at 14:00 and the third ends at 17:00 and then you add another appointment that starts at 14:30 and stops at 15:30, the width of this appointment is 1/3 of the total with for the day although there is room for this appointment to be 2/3 of the width of that day.
The end user should be able to resize or move recurring appointments. As a result, either an exception occurrence should be created or the whole series should be modified.
The occurrences and the navigation arrows are not displayed correctly when using YearlyRecurrence with the "First Monday of January" rule. The issue also appears with similar rule types.
Steps to reproduce: 1. Add a RadSchduler to a form (No need to add appointments) 2. Set the active view type to Timeline 3. Set the Appointmentheight property of the timeline view element to 50 4. Run the project, right-click on the scheduler and select Next View You will see a NullReferenceException exception.
The appointments area of RadScheduler in DayView or WeekView should be automatically scrolled when resizing appointments.
To reproduce: Subscribe for the ContextMenuShowing event of RadScheduler and use the following code: private void radScheduler1_ContextMenuShowing(object sender, SchedulerContextMenuShowingEventArgs e) { e.ContextMenu.Items.Clear(); e.ContextMenu.Items.Add(new RadMenuItem("Item")); } Right-Click on two appointments and you will notice the exception Workaround: Add three invisible items: private void radScheduler1_ContextMenuShowing(object sender, SchedulerContextMenuShowingEventArgs e) { e.ContextMenu.Items.Clear(); e.ContextMenu.Items.Add(new RadMenuItem("Item")); for (int i = 0; i < 3; i++) { e.ContextMenu.Items.Add(new RadMenuItem() { Visibility = ElementVisibility.Collapsed }); } }
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 an option to allow the end user to select multiple appointments using CTRL + mouse click. The user should also be able to delete all the selected appointments at once.
Add an option for SchedulerMonthlyPrintStyle to show the text of the appointments, not only the dates.
Add StatusId property to AppointmentElement class for formatting purposes.
Printing support
Implement RadScheduler Timeline View. Add design time support, theming capabilities, the works.
Steps to reproduce: 1. Subscribe for the scheduler Appointments.CollectionChanged event. 2. Add a recurring appointment and delete a single occurrence. You will see that the event is fired and the action is Add.
Expose some of the printing methods to allow derived classes to override them for greater customization support.
Implement a Gantt view in Scheduler We choose another approach for this and we implemented a whole new RadGanttView control instead. Of course it can be paired up with RadScheduler. Here is the product page: http://www.telerik.com/products/winforms/ganttview-beta.aspx
Steps to reproduce: 1. Add a scheduler to a form. 2. Add some data and group it by resource. 3. Add a button and on click call the NavigateToNextResource method: this.radSchedulerDemo.SchedulerElement.NavigateToNextResource(); You will see that nothing happens. WORKAROUND: RadScrollBarElement scrollBarElement = this.radScheduler1.SchedulerElement.ViewElement.Children[3] as RadScrollBarElement; this.radScheduler1.SchedulerElement.NavigateToLastResource(); int numberOfBackSteps = scrollBarElement.Maximum - scrollBarElement.Value - (this.radSchedulerDemo.SchedulerElement.View.ResourcesPerView - 1); for (int i = 0; i <= numberOfBackSteps; i++) { this.radScheduler1.SchedulerElement.NavigateToPreviousResource(); }
Steps to reproduce. 1. Add a RadScheduler to a form, add some appointments. 2. Add grouping with at least two groups. 3. Drag an appointment from the second group (top to bottom) and drop it above the scheduler. The drag hint should be for invalid operation (striked red circle) You will see that the appointment will disappear from the scheduler. WORKAROUND AddHandler Me.RadScheduler1.DragDropBehavior.Stopped, AddressOf DragDropBehavior_Stopped Private Sub DragDropBehavior_Stopped(sender As Object, e As EventArgs) Dim element As TimelineGroupingByResourcesElement = Me.RadScheduler1.SchedulerElement.Children(0) For Each timelineViewElement In element.Children If timelineViewElement.GetType() = GetType(SchedulerTimelineViewElement) Then For Each applicationElement As RadElement In CType(timelineViewElement, SchedulerTimelineViewElement).Presenter.Children If applicationElement.GetType() = GetType(AppointmentElement) Then applicationElement.Visibility = ElementVisibility.Visible End If Next End If Next End Sub
The issue is when you drag up or drag down the top or bottom of the appointment i.e extend or decrease the slot. The error I get with that same codebase is Object reference not set to an instance of an object. inner exception null Source: Telerik.WinControls.Scheduler StackTrace: at Telerik.WinControls.UI.DayViewAppointmentsTable.appointment_MouseUp(Object sender, MouseEventArgs e) at Telerik.WinControls.UI.DayViewAppointmentsTable.AppointmentMouseUp(Object sender, MouseEventArgs e) at Telerik.WinControls.UI.RadSchedulerElement.scheduler_AppointmentElementMouseUp(Object sender, MouseEventArgs e) at Telerik.WinControls.UI.RadScheduler.OnAppointmentElementMouseUp(Object sender, MouseEventArgs args)...
1. Create a new project with RadScheduler. 2. Handle the AppointmentFormatting event and change appointment border color. 3. Run the project and add an appointment.