Completed
Last Updated: 23 Sep 2022 13:07 by ADMIN
Release R3 2022

Additional borders appear in AgendaView when the Date column is sorted. This behavior is observed in the following themes:

  • VisualStudio2012Light
  • Office2019Light
  • Office2019Gray
  • Office2019Dark
  • Office2013Dark (missing border)
  • Office2013Light (missing border)
  • TelerikMetro (missing border)
  • TelerikMetroBlue (missing border)
  • TelerikMetroTouch (missing border)
  • Office2010Black (missing border)
  • Office2010Silver (missing border)
  • Office2010Blue (missing border)
  • ControlDefault (missing border)
  • Breeze (missing border)
  • HighContrastBlack (missing border)
  • Office2007 (missing border)

 

Completed
Last Updated: 23 Sep 2022 13:07 by ADMIN
Release R3 2022
Created by: Maciej
Comments: 0
Category: Scheduler/Reminder
Type: Bug Report
6

The local time is EEST — Eastern European Summer Time (Current Offset: UTC/GMT +3 hours). Add an additional time zone IST — India Standard Time (Current Offset: UTC/GMT +5:30 hours). It is expected to show 2 hours and 30 minutes difference between the two times zones. However, it is 1 hour and 30 minutes:

    Public Sub New()
        InitializeComponent()

        allTimeZones = SchedulerTimeZone.GetSchedulerTimeZones()
        Dim mumbai As SchedulerTimeZone = GetSpecificTimeZone("India Standard Time")
        If Not mumbai.Equals(Me.RadScheduler1.GetDayView().DefaultTimeZone) Then
            RadScheduler1.GetDayView().TimeZones.Insert(0, mumbai)
        End If

        Dim utc As SchedulerTimeZone = GetSpecificTimeZone("UTC")
        If Not utc.Equals(Me.RadScheduler1.GetDayView().DefaultTimeZone) Then
            RadScheduler1.GetDayView().TimeZones.Insert(0, utc)
        End If
    End Sub
    Private Function GetSpecificTimeZone(_TimeZoneInformationID As String) As SchedulerTimeZone
        Try
            Dim tempZone As New SchedulerTimeZone((From t In allTimeZones.Where(Function(x) x.TimeZoneInformation.Id Like _TimeZoneInformationID) Select t.TimeZoneInformation).First)
            tempZone.Label = tempZone.TimeZoneInformation.BaseUtcOffset.ToString()
            Return tempZone
        Catch ex As Exception
            Return Nothing
        End Try
    End Function

Actual: 1 hour behind the expected

Expected:

Workaround:

Public Class Form1

    Private allTimeZones As List(Of SchedulerTimeZone)

    Public Sub New()
        InitializeComponent()

        Me.RadScheduler1.ElementProvider = New CustomSchedulerElementProvider(Me.RadScheduler1)


        allTimeZones = SchedulerTimeZone.GetSchedulerTimeZones()
        Dim mumbai As SchedulerTimeZone = GetSpecificTimeZone("India Standard Time")
        If Not mumbai.Equals(Me.RadScheduler1.GetDayView().DefaultTimeZone) Then
            RadScheduler1.GetDayView().TimeZones.Insert(0, mumbai)
        End If

        Dim utc As SchedulerTimeZone = GetSpecificTimeZone("UTC")
        If Not utc.Equals(Me.RadScheduler1.GetDayView().DefaultTimeZone) Then
            RadScheduler1.GetDayView().TimeZones.Insert(0, utc)
        End If
    End Sub
    Private Function GetSpecificTimeZone(_TimeZoneInformationID As String) As SchedulerTimeZone
        Try
            Dim tempZone As New SchedulerTimeZone((From t In allTimeZones.Where(Function(x) x.TimeZoneInformation.Id Like _TimeZoneInformationID) Select t.TimeZoneInformation).First)
            tempZone.Label = tempZone.TimeZoneInformation.BaseUtcOffset.ToString()
            Return tempZone
        Catch ex As Exception
            Return Nothing
        End Try
    End Function
End Class

Public Class CustomSchedulerElementProvider
        Inherits SchedulerElementProvider

        Public Sub New(scheduler As RadScheduler)
            MyBase.New(scheduler)
        End Sub

        Public Overrides Function CreateRulerPrimitive(area As DayViewAppointmentsArea, timeZone As SchedulerTimeZone) As RulerPrimitive
            Dim ruler As RulerPrimitive = MyBase.CreateRulerPrimitive(area, timeZone)
            ruler.RulerRenderer = New CustomRulerRenderer(ruler)
            Return ruler
        End Function
    End Class

Public Class CustomRulerRenderer
    Inherits RulerRenderer


    Public Sub New(ruler As RulerPrimitive)
        MyBase.New(ruler)
    End Sub

    Public Overrides Sub RenderHour(g As IGraphics, hour As Integer, bounds As RectangleF)
        hour += Me.ruler.StartScale + CInt(Math.Ceiling(Me.ruler.DefaultOffset))
        Dim currentTime As DateTime = DateTime.Now.Date.AddHours(hour)
        Dim percent As Single = Me.ruler.DefaultOffset - CSng(Math.Floor(CDbl(Me.ruler.DefaultOffset)))
        Dim x As Integer = Me.ruler.HourLineStartPosition
        Dim y As Single = CSng(Math.Ceiling(bounds.Top + (GetSpecificRange() * bounds.Height) * percent))
        Dim hourText As String = ""

        If Me.ruler.FormatStrings.HoursFormatString IsNot Nothing Then
            hourText = currentTime.ToString(Me.ruler.FormatStrings.HoursFormatString)
        End If

        'Dim args As RulerTextFormattingEventArgs = New RulerTextFormattingEventArgs(hourText, RulerTextFormattingContext.Hour, currentTime)
        'Me.ruler.Scheduler.OnRulerTextFormatting(args)
        'hourText = args.Text
        Dim minutesText As String = ""

        If Me.ruler.FormatStrings.MinutesFormatString IsNot Nothing Then
            minutesText = currentTime.ToString(Me.ruler.FormatStrings.MinutesFormatString)
        End If

        'args = New RulerTextFormattingEventArgs(minutesText, RulerTextFormattingContext.Minute, currentTime)
        'Me.ruler.scheduler.OnRulerTextFormatting(args)
        'minutesText = args.Text
        Dim measuredSize As Size = TextRenderer.MeasureText(hourText, Me.ruler.Font)
        measuredSize = DrawTimeText(g, y, hourText, minutesText, measuredSize)

        If ruler.RightToLeft Then
            g.DrawLine(Me.ruler.HourLineColor, Me.ruler.Bounds.Left, y, Me.ruler.Bounds.Width - x, y, Me.ruler.DpiScaleFactor.Height)
            g.DrawLine(Me.ruler.HourLineShadowColor, Me.ruler.Bounds.Left, y + Me.ruler.DpiScaleFactor.Height, Me.ruler.Bounds.Width - x, y + Me.ruler.DpiScaleFactor.Height, Me.ruler.DpiScaleFactor.Height)
        Else
            g.DrawLine(Me.ruler.HourLineColor, x, y, Me.ruler.Bounds.Width, y, Me.ruler.DpiScaleFactor.Height)
            g.DrawLine(Me.ruler.HourLineShadowColor, x, y + Me.ruler.DpiScaleFactor.Height, Me.ruler.Bounds.Width, y + Me.ruler.DpiScaleFactor.Height, Me.ruler.DpiScaleFactor.Height)
        End If
    End Sub

    Friend Function GetSpecificRange() As Integer
        Return 60 / CInt(Me.ruler.RangeFactor)
    End Function
End Class

Completed
Last Updated: 13 Aug 2012 04:59 by Jesse Dyck
ADMIN
Created by: Ivan Todorov
Comments: 1
Category: Scheduler/Reminder
Type: Feature Request
5
Add the possibility to enable rendering appointments not in the whole cell when their duration is less than the range factor of the view.
Unplanned
Last Updated: 31 Aug 2017 08:54 by Longnd
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 4
Category: Scheduler/Reminder
Type: Feature Request
5
This request is to add Working hours range of the view, which will style the cells as working and non working. In addition, add a property ShowWorkingHours while will determine whether non-working hours are visible or not.

Or perhaps for the sake of consistency, we can have API as in the day view:
dayView.RangeFactor = ScaleRange.QuarterHour
dayView.RulerStartScale = 9
dayView.RulerStartScaleMinutes = 30
dayView.RulerEndScale = 14
dayView.RulerEndScaleMinutes = 45
Unplanned
Last Updated: 16 May 2019 05:11 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Scheduler/Reminder
Type: Bug Report
5
To reproduce:
        Me.RadScheduler1.ActiveViewType = Telerik.WinControls.UI.SchedulerViewType.Timeline
        Dim timelineView As SchedulerTimelineView = Me.RadScheduler1.GetTimelineView()
        Dim currentScaling As SchedulerTimescale = timelineView.GetScaling()
        currentScaling.DisplayedCellsCount = 100

Try to scroll horizontally. Then, change the currentScaling.DisplayedCellsCount  property to 50 and try to scroll again. You will notice a considerable difference.

Workaround: reduce the number of the displayed visual cell elements by the DisplayedCellsCount.
Completed
Last Updated: 21 Jul 2014 08:35 by ADMIN
Check out the Weekly calendar style in Outlook

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
Completed
Last Updated: 12 May 2014 08:34 by ADMIN
Check out the Outlook vertical scrolling abilities in MonthView
Completed
Last Updated: 14 Apr 2014 13:02 by Jesse Dyck
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.
Completed
Last Updated: 02 Jan 2012 18:35 by Jesse Dyck
When you subscribe to the AppointmentMoved or AppointmentDropped event of RadScheduler, the DataItem property of the appointment in the event args is always null.
Completed
Last Updated: 28 Mar 2013 11:12 by ADMIN
ADMIN
Created by: Jack
Comments: 0
Category: Scheduler/Reminder
Type: Bug Report
4
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.
Completed
Last Updated: 08 Aug 2012 03:05 by ADMIN
Steps to follow:
1. Select cells from 10:00pm (today) to 01:00am (next day).
2. Right click -> New Appointment
3. The Edit Appointment Dialog opens and the End Time is set to 23:59:59 instead of 01:00:00
Unplanned
Last Updated: 15 Aug 2017 10:02 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Scheduler/Reminder
Type: Feature Request
4

			
Unplanned
Last Updated: 07 Jun 2018 10:01 by ADMIN
To reproduce:
 public Form1()
 {
     InitializeComponent();

     for (int i = 0; i < 7; i++)
     {
         this.radScheduler1.Appointments.Add(new Appointment(DateTime.Now.AddHours(i),TimeSpan.FromHours(3),"App" + i));
     }
     this.radScheduler1.AutoSizeAppointments = true;
     this.radScheduler1.ActiveViewType = SchedulerViewType.Month;
     SchedulerMonthView monthView = this.radScheduler1.GetMonthView();
    
     monthView.EnableAppointmentsScrolling = true;
 }

Workaround: set the AutoSizeAppointments property to false.
Unplanned
Last Updated: 03 Nov 2020 05:39 by ADMIN
To reproduce:

Color[] colors = new Color[]
{
    Color.LightBlue, Color.LightGreen, Color.LightYellow,
    Color.Red, Color.Orange, Color.Pink, Color.Purple, Color.Peru, Color.PowderBlue
};
Random rand = new Random();
for (int i = 0; i < 25; i++)
{
    Resource resource = new Resource();
    resource.Id = new EventId(i);
    resource.Name = i + ".Resource";
    resource.Color = colors[rand.Next(0, colors.Length)];
    this.radScheduler1.Resources.Add(resource);
}

this.radScheduler1.GroupType = GroupType.Resource;
this.radScheduler1.ActiveView.ResourcesPerView = this.radScheduler1.Resources.Count;

for (int i = 0; i < 3; i++)
{
    Appointment a = new Appointment(DateTime.Now.AddHours(i), TimeSpan.FromMinutes(30), "A" + i);
    a.ResourceId = this.radScheduler1.Resources.Last().Id;
    this.radScheduler1.Appointments.Add(a);
}

NOTE: it is also valid for the horizontal scrollbar in Timeline view.

Workaround: use the SetResourceSize to increase the last resource's width a little bit: http://docs.telerik.com/devtools/winforms/scheduler/views/grouping-by-resources
Completed
Last Updated: 11 May 2017 05:43 by ADMIN
To reproduce:

public Form1()
{
    InitializeComponent();

    this.radScheduler1.ActiveViewType = SchedulerViewType.Day;
    RulerPrimitive ruler = (this.radScheduler1.SchedulerElement.ViewElement as SchedulerDayViewElement).DataAreaElement.Ruler;
    ruler.RangeFactor= ScaleRange.TenMinutes;
}

Workaround:

this.radScheduler1.GetDayView().RangeFactor = ScaleRange.TenMinutes;
Completed
Last Updated: 17 Dec 2018 16:35 by Dimitar
To reproduce:  

1.Change the first day of week to Monday:

            SchedulerMonthView view = new SchedulerMonthView();
            CultureInfo ci = new CultureInfo("en-US");
 
            ci.DateTimeFormat.FirstDayOfWeek = DayOfWeek.Monday;
            view.CurrentCulture = ci;
            this.radScheduler1.ActiveView = view;
2. Create an appointment with a recurrence rule illustrated in the attached screenshot. Imagine that today is Wednesday and the recurrence rule starts on Monday from the same week.
As a result, you will notice that the WeeklyRecurrenceRule.FirstDayOfWeek is not set and the appointment occurs on the wrong Sundays. Refer to the attached screenshot. 

Workaround:

        private void radScheduler1_AppointmentAdded(object sender, AppointmentAddedEventArgs e)
        {
            if (e.Appointment.RecurrenceRule != null)
            {
                WeeklyRecurrenceRule r = e.Appointment.RecurrenceRule as WeeklyRecurrenceRule;
                r.FirstDayOfWeek = DayOfWeek.Monday;
            }
        }
Completed
Last Updated: 05 Jun 2014 07:07 by ADMIN
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);
Completed
Last Updated: 10 Jun 2014 18:43 by ADMIN
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.
Declined
Last Updated: 09 May 2014 12:59 by ADMIN
BindingSource does not set the correct possition in the binding list and always fires the ListChanged event with an index of 0.

CLOSED: RadScheduler is not a list-editing control and does not support currency management.
Completed
Last Updated: 02 Feb 2010 05:32 by Jesse Dyck
ADMIN
Created by: Dobry Zranchev
Comments: 1
Category: Scheduler/Reminder
Type: Feature Request
3
Add functionality to navigate with a custom step. Currently, the navigation step can be only a day. In the future the user will be able to chose among "Day", "Week" and "Month".