To reproduce:
Add an appointment with the text "<html><size=9>Erin Swardz</br><color=Red>PO 2315</html>" the appointment looks formatted in the scheduler, however when in PrintPreview/Print the html code is printed in raw format
Workaround:
Strip all html in order to print pure text -
void scheduler_AppointmentPrintElementFormatting(object sender, PrintAppointmentEventArgs e)
{
string replaceBr = e.AppointmentElement.Text.Replace("</br>", " ");
string result = Regex.Replace(replaceBr, @"<[^>]*>", string.Empty);
e.AppointmentElement.Text = result;
}
RadScheduler - Implement functionality that will allow clients to define which time intervals should be visible in TimeLine view.
To reproduce:
Add a RadScheduler to a form and try the following method :
private void Scroll()
{
SchedulerDayView dayView = radScheduler1.GetDayView();
SchedulerWeekView weekView = radScheduler1.GetWeekView();
dayView.RulerStartScale = 7; dayView.RulerEndScale = 22;
if (radScheduler1.ActiveViewType == SchedulerViewType.Day)
{
if (dayView != null)
{
dayView.RangeFactor = ScaleRange.QuarterHour;
}
}
else if (radScheduler1.ActiveViewType == SchedulerViewType.Week)
{
if (weekView != null)
{ weekView.RangeFactor = ScaleRange.QuarterHour;
}
}
dayView.RulerTimeFormat = RulerTimeFormat.hours24;
SchedulerDayViewElement dayViewElement = this.radScheduler1.SchedulerElement.ViewElement as SchedulerDayViewElement;
if (dayViewElement != null)
{
dayViewElement.DataAreaElement.Table.ScrollToTime(new TimeSpan(DateTime.Now.Hour, 0, 0));
}
}
As you can see the scroll is not correct.
Add the NavigateBackwardsButton and NavigateForwardsButton's text to the localization provider. DECLINE REASON: The text in these buttons was visible due to an issue in the Aqua theme. The text of these buttons is not visible in any theme by design therefore this item will be declined as its implementation will be redundant.
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.
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.