Completed
Last Updated: 01 Oct 2013 03:38 by Jesse Dyck
ADMIN
Created by: Telerik Admin
Comments: 5
Category: Scheduler/Reminder
Type: Feature Request
30
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
Completed
Last Updated: 26 Feb 2014 14:21 by Jesse Dyck
ADMIN
Created by: Dobry Zranchev
Comments: 5
Category: Scheduler/Reminder
Type: Feature Request
28
Printing support
Completed
Last Updated: 12 May 2014 14:02 by Jesse Dyck
Add the possibility to have multiple time intervals for a working range and to have separate working ranges for different resources.
Completed
Last Updated: 17 Jun 2014 10:42 by ADMIN
Completed
Last Updated: 24 Sep 2019 09:43 by ADMIN
Add the possibility either for the end user or the developer to modify the width or height (whichever is relevant) of the resource areas in different views.
Completed
Last Updated: 22 Jun 2018 12:14 by ADMIN
ADMIN
Created by: Ivan Todorov
Comments: 2
Category: Scheduler/Reminder
Type: Feature Request
12
Add the possibility to specify given date as a holiday.
Completed
Last Updated: 23 Apr 2011 02:12 by Jesse Dyck
ADMIN
Created by: Dobry Zranchev
Comments: 4
Category: Scheduler/Reminder
Type: Feature Request
10
Add vertical scroll bar to the month cell
Completed
Last Updated: 08 Aug 2012 01:48 by ADMIN
IMPROVE. RadScheduler - add event that notifies when an appointment is added by the user. The event args should provide information whether the event is added via the edit appointment dialog or via the inline functionality
Completed
Last Updated: 23 Sep 2022 13:07 by ADMIN
Release R3 2022

Please use the Demo application >> Scheduler example and follow the steps in the attached gif file.

Expected result: the deleted appointment should disappear from the grid after closing the edit dialog.

Actual result: the deleted appointment is still visible in the agenda grid after closing the edit dialog.

Note: pressing the Delete key when an appointment is selected in agenda view doesn't perform any delete operation. In the rest of the scheduler view, the selected appointment is deleted.

Workaround: after an appointment is deleted, refresh the agenda grid by changing the view:

    Private Sub RadScheduler1_AppointmentDeleted(sender As Object, e As SchedulerAppointmentEventArgs)
        Me.RadScheduler1.ActiveViewType = SchedulerViewType.Day
        Me.RadScheduler1.ActiveViewType = SchedulerViewType.Agenda
    End Sub

Completed
Last Updated: 29 Feb 2016 10:15 by ADMIN
Please refer to the attached screenshots. A sample project is attached.

There is a known issue in the .NET Framework considering the "fa-IR" culture. Please refer to the following MSDN resource for a solution which is included in the sample project: https://code.msdn.microsoft.com/Fixing-Persian-Locale-for-6e66e044#content

Workaround:

 private void radScheduler1_CellFormatting(object sender, SchedulerCellEventArgs e)
        {
            MonthCellElement monthCellElement = e.CellElement as MonthCellElement;
            if (monthCellElement != null)
            {
                monthCellElement.Header.Text = monthCellElement.Date.ToString("dd", this.radScheduler1.Culture);
            }
        }
Completed
Last Updated: 09 Nov 2016 13:52 by Rodrigo Cesar
1. Add RadSchedulerNavigator and a RadScheduler. Change the view type to Week View.
2. Associate the RadSchedulerNavigator to RadScheduler. Change the PC's time zone to (UTC-03:00) Brasilia Time zone
3. Change the PC's date to 21 Oct 2016 and run the application.
4. When you change the time zone in RadSchedulerNavigator to (UTC-03:00) Brasilia Time zone, you will notice that the ruler starts from 23.

Workaround: 

public Form1()
{
    InitializeComponent();

    radSchedulerNavigator1.AssociatedScheduler = radScheduler1;

    this.radScheduler1.ActiveViewChanged += radScheduler1_ActiveViewChanged;
    this.radScheduler1.CellElementMouseDown += radScheduler1_CellElementMouseDown; 
    this.radScheduler1.AppointmentEditDialogShowing += radScheduler1_AppointmentEditDialogShowing;
    radScheduler1.ActiveViewType = Telerik.WinControls.UI.SchedulerViewType.Week; 
}

DateTime? date = null;

private void radScheduler1_CellElementMouseDown(object sender, MouseEventArgs e)
{
    SchedulerCellElement cell = this.radScheduler1.ElementTree.GetElementAtPoint(e.Location) as SchedulerCellElement;
    if (cell != null)
    {
        date = cell.Date;
    }
}

CustomEditAppointmentDialog dialog = null;

private void radScheduler1_AppointmentEditDialogShowing(object sender, AppointmentEditDialogShowingEventArgs e)
{
    if (dialog == null)
    {
        dialog = new CustomEditAppointmentDialog();
    }
    e.AppointmentEditDialog = dialog;
    if (date != null && !e.Appointment.Start.Equals(date))
    {
        e.Appointment.Start = (DateTime)date;
    }
    date = null;
}

private void radScheduler1_ActiveViewChanged(object sender, Telerik.WinControls.UI.SchedulerViewChangedEventArgs e)
{
    SchedulerDayView dayView = e.NewView as SchedulerDayView;
    SchedulerWeekView weekView = e.NewView as SchedulerWeekView;
    if (dayView != null || weekView != null)
    {
        RulerPrimitive ruler = (this.radScheduler1.SchedulerElement.ViewElement as SchedulerDayViewElement).DataAreaElement.Ruler;
        ruler.GetType().GetField("defaultOffset", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(ruler, 0.0f);
    }
}

public class CustomEditAppointmentDialog : EditAppointmentDialog
{
    protected override void LoadSettingsFromEvent(IEvent sourceEvent)
    {
        base.LoadSettingsFromEvent(sourceEvent);
        this.dateStart.Value = sourceEvent.Start;
        this.timeStart.Value  = sourceEvent.Start;
    }
}



Completed
Last Updated: 10 Apr 2014 12:12 by ADMIN
The appointments area of RadScheduler in DayView or WeekView should be automatically scrolled when resizing appointments.
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: 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: 19 Dec 2017 14:35 by ADMIN
ADMIN
Created by: Ivan Todorov
Comments: 1
Category: Scheduler/Reminder
Type: Feature Request
6
Implement search function in RadSchedulerNavigator.
Completed
Last Updated: 08 May 2014 08:39 by ADMIN
this.radScheduler1.Appointments.EndUpdate();

Does not refresh the Scheduler view element.
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.
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: 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: 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.
1 2 3 4 5 6