To reproduce: - Handle the CellFormatting event. - Set CellElement Text property to a very long text. Workaround: Set CellElement MaxSize property like this: void radScheduler1_CellFormatting(object sender, Telerik.WinControls.UI.SchedulerCellEventArgs e) { e.CellElement.MaxSize = new Size(150,23); }
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.
RadScheduler - there is no way change the style of drag item. Current embedded styling is hard to see in some themes.
Add the ability to display the text in appointments vertically.
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
RadScheduler printing does not take in consideration the Ruler scale and always print with 30 minutes timescale.
ScrollToWorkHours does not work properly in DayViewGroupedByResource mode
To work around the issue, you can set scheduler's GroupType to None, set the ResourcesPerView property, set the GroupType to Resource: radScheduler1.GroupType = GroupType.None; this.radScheduler1.ActiveView.ResourcesPerView =resourcesPerView radScheduler1.GroupType = GroupType.Resource;
When in multi day view if many days are being added, each day visual becomes so narrow that the application practically becomes useless. If there is horizontal scroll bar the view could be stretched and the user would be able to scroll between the days.
If there is WeekDays option set in monthly recurrence rule and try to get the occurence start the method just adds the interval to the start day, rather than considering the WeekDays option. CLOSED: Not an issue. The method is not intended to return real occurrence dates but rather dates that are potential occurrences and must be checked. The method is not correctly named but renaming it will result in a breaking change. The description of the method is updated. To achieve the desired functionality use OccurrenceEnumerator.
this.radScheduler1.Appointments.EndUpdate(); Does not refresh the Scheduler view element.
IMPORVE. RadScheduler - improve the selection of the cells into RadScheduler to support Ctrl-key. This will allow to users to select cells/days with space between them. CLOSED: The selection in scheduling components should be a single range of two dates in which users can create a single appointment after selected. There would be no purpose in multiple range selection as there are no actions the users can perform with them after selecting.
IMPROVE. RadScheduler - Add CellSelected event that will be firing when the cell is selected.
RadScheduler - e.Appointment.BackgroundId property in AppointmentFormatting event does not work correctly, when you open Edit Appointment dialog form to edit the Background color of selected appointment. Steps to reproduce: 1. Subscribe to AppointmentFormatting event and set e.Appointment.BackgroundId property. 2. Create new Appointment via Edit Appointment dialog form. 3. Open the the appointment via Edit Appointment dialog form and change the Background color. 4. Close the Edit Appointment dialog form. Work around: Do not set this property in AppointmentFormatting event. CLOSED: Modifying data properties of the appointment should not be done on the Formatting events. The Formatting events stand for modifying visual properties of the elements being rendered and are fired during element creation. Modifying any data property of the active view or of the appointments will call another element creation cycle recursively and might result in StackOverflow exceptions or ElementAlreadyAdded exceptions.
Steps to reproduce: radScheduler.ActiveViewType = SchedulerViewType.Timeline; radScheduler.GetTimelineView().ShowTimescale(Timescales.Hours); radScheduler.GetTimelineView().GetTimescale(Timescales.Hours).DisplayedCellsCount = 10;//set 8 for workarround. radScheduler.ActiveView.StartDate = DateTime.Today; radScheduler.GetTimelineView().RangeStartDate = DateTime.Today.AddHours(7); radScheduler.GetTimelineView().RangeEndDate = DateTime.Today.AddDays(1); radScheduler.GetTimelineView().ResourcesPerView = 5; radScheduler.GroupType = GroupType.Resource; radScheduler.SchedulerElement.SetResourceHeaderAngleTransform(SchedulerViewType.Timeline, 0);
Check out the Outlook vertical scrolling abilities in MonthView
Let's say that you have an appoiment that starts at 8:30 and ends at 8:30. RadScheduler will display it as it should, but it will not be considered by the printing functionality. We should also have in mind the case where there are several appointments starting from 8:30 and ending at 8:30.
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.
To reproduce: RadSchedulerLocalizationProvider.CurrentProvider = new CustomSchedulerLocalizationProvider(); radScheduler1.Appointments.Add(new Appointment(DateTime.Now.AddDays(-5), DateTime.Now.AddDays(-4))); radScheduler1.Appointments.Add(new Appointment(DateTime.Now.AddDays(5), DateTime.Now.AddDays(4))); Workaround: radScheduler1.SchedulerElement.Refresh();