Completed
Last Updated: 25 Sep 2014 08:59 by ADMIN
 The tooltip is displayed in in wrong position when it contains several lines.
Completed
Last Updated: 03 Sep 2014 06:57 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Scheduler/Reminder
Type: Bug Report
0
To reproduce:

public Form1()
{
    InitializeComponent();

    this.radScheduler1.GetDayView().RangeFactor = Telerik.WinControls.UI.ScaleRange.HalfHour;

    this.radScheduler1.Appointments.Add(new Appointment(new DateTime(2014, 7, 21, 11, 0, 0, 0),
                                                        new DateTime(2014, 7, 21, 12, 0, 0, 0)));

    this.radScheduler1.Appointments.Add(new Appointment(new DateTime(2014, 7, 21, 15, 30, 45, 137 ),
                                                        new DateTime(2014, 7, 21, 15, 30, 58, 600 )));

    this.radScheduler1.Appointments.Add(new Appointment(new DateTime(2014, 7, 21, 10, 0, 0, 0 ),
                                                        new DateTime(2014, 7, 21, 11, 0, 0, 0 )));

    this.radScheduler1.Appointments.Add(new Appointment(new DateTime(2014, 7, 21, 15, 30, 19, 633 ),
                                                        new DateTime(2014, 7, 21, 15, 30, 31, 253 )));

    this.radScheduler1.Appointments.Add(new Appointment(new DateTime(2014, 7, 21, 15, 29, 20, 337 ),
                                                        new DateTime(2014, 7, 21, 15, 29, 52, 767 )));

    this.radScheduler1.Appointments.Add(new Appointment(new DateTime(2014, 7, 21, 13, 0, 0, 0 ),
                                                        new DateTime(2014, 7, 21, 14, 0, 0, 0 )));

    this.radScheduler1.Appointments.Add(new Appointment(new DateTime(2014, 7, 21, 15, 0, 0, 0 ),
                                                        new DateTime(2014, 7, 21, 16, 0, 0, 0 )));

    this.radScheduler1.Appointments.Add(new Appointment(new DateTime(2014, 7, 21, 15, 28, 15, 500 ),
                                                        new DateTime(2014, 7, 21, 15, 28, 37, 310 )));

    this.radScheduler1.Appointments.Add(new Appointment(new DateTime(2014, 7, 21, 14, 0, 0, 0 ),
                                                        new DateTime(2014, 7, 21, 15, 0, 0, 0 )));

    this.radScheduler1.Appointments.Add(new Appointment(new DateTime(2014, 7, 21, 15, 27, 19, 123 ),
                                                        new DateTime(2014, 7, 21, 15, 27, 57, 357 )));
}
Unplanned
Last Updated: 15 Aug 2017 09:45 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Scheduler/Reminder
Type: Feature Request
0
Implement similar functionality as the exact time rendering in Outlook (DayView) using the status area. Please refer to the attached screenshot.
Unplanned
Last Updated: 15 Aug 2017 09:45 by ADMIN
ADMIN
Created by: Stefan
Comments: 2
Category: Scheduler/Reminder
Type: Feature Request
1

			
Completed
Last Updated: 09 Oct 2014 10:28 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Scheduler/Reminder
Type: Bug Report
0
To reproduce :
1. Add a RadScheduler and a RadToggleButton.
2. Use the following code snippet:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.RadScheduler1.ActiveViewType = Telerik.WinControls.UI.SchedulerViewType.Timeline

    Dim colors As Color() = New Color() {Color.LightBlue, Color.LightGreen, Color.LightYellow, Color.Red, Color.Orange, Color.Pink, _
        Color.Purple, Color.Peru, Color.PowderBlue}

    Dim names As String() = New String() {"Alan Smith", "Anne Dodsworth", "Boyan Mastoni", "Richard Duncan", "Maria Shnaider"}

    For i As Integer = 0 To names.Length - 1
        Dim resource As New Resource()
        resource.Id = New EventId(i)
        resource.Name = names(i)
        resource.Color = colors(i)
        Me.RadScheduler1.Resources.Add(resource)
    Next

    Me.RadScheduler1.ActiveView.ResourcesPerView = 2

    Dim timelineView As SchedulerTimelineView = Me.RadScheduler1.GetTimelineView()
    Dim scale As Timescales = Timescales.Hours
    timelineView.ShowTimescale(scale)
    timelineView.StartDate = DateTime.Now.Date.AddHours(5)
    timelineView.RangeStartDate = DateTime.Now.Date.AddHours(5)
    timelineView.RangeEndDate = DateTime.Now.Date.AddHours(15)
    timelineView.CurrentScale.DisplayedCellsCount = 10
End Sub

Private Sub RadToggleButton1_ToggleStateChanged(sender As Object, args As StateChangedEventArgs) Handles RadToggleButton1.ToggleStateChanged
    If args.ToggleState = Telerik.WinControls.Enumerations.ToggleState.On Then
        Me.RadScheduler1.GroupType = GroupType.Resource
    Else
        Me.RadScheduler1.GroupType = GroupType.None
    End If
End Sub

Initially, the timeline view start from the correct hour (5 AM). However, the horizontal scroll bar allows you to navigate in right direction as the  RangeEndDate is currently visible in the view. When you click the toggle button, the scheduler is grouped by resources and the timeline start is reset.
Completed
Last Updated: 01 Oct 2014 13:03 by ADMIN
To reproduce:
public Form1()
{
    InitializeComponent(); 
    for (int i = 0; i < 10; i++)
    {
        Appointment appointment = new Appointment(DateTime.Now.AddHours(i),
            TimeSpan.FromMinutes(30), "Summary", "Description");
        appointment.StatusId = 2;
        appointment.BackgroundId = 6;
        this.radScheduler1.Appointments.Add(appointment);
    }

    this.radScheduler1.ActiveViewType = SchedulerViewType.Day;
    SchedulerDayView dayView = this.radScheduler1.GetDayView();
    dayView.RangeFactor = ScaleRange.FiveMinutes;
    dayView.RulerStartScale = DateTime.Now.Hour - 1;
    this.radScheduler1.EnableExactTimeRendering = true;
}
Completed
Last Updated: 01 Oct 2014 13:03 by ADMIN
RadScheduler the ruler is not displayed correctly with the office2010 themes.
Completed
Last Updated: 09 Jul 2014 13:58 by ADMIN
To reproduce scroll to the working hours in the ActiveViewChanged event:
void radScheduler1_ActiveViewChanged(object sender, Telerik.WinControls.UI.SchedulerViewChangedEventArgs e)
{
    if (e.OldView.ViewType == SchedulerViewType.Month && (e.NewView.ViewType == SchedulerViewType.Day || e.NewView.ViewType == SchedulerViewType.Week))
    {
        SchedulerDayViewBase dayView = radScheduler1.ActiveView as SchedulerDayViewBase;
        dayView.AutoScrollToWorkTime = true;
    }
}

Workaround:
public class MyScheduler : RadScheduler
{
    public override string ThemeClassName
    {
        get
        {
            return typeof(RadScheduler).FullName;
        }
    }

    protected override void SetValuesToViewElement(SchedulerVisualElement viewElement, ViewData viewData)
    {
        if (viewElement is SchedulerDayViewElement)
        {
            return;
        }

        base.SetValuesToViewElement(viewElement, viewData);
    }
}
Completed
Last Updated: 31 Jul 2014 10:37 by ADMIN
To reproduce:
 - Add a recurrence appointment with a reminder to a blank RadScheduler.
 - Delete single occurrence and wait for the reminder form to show.
 - You will notice that the deleted occurrence still exist in the form's grid.
Completed
Last Updated: 01 Jul 2014 10:01 by ADMIN
To reproduce:
 Sub New()
     InitializeComponent()

     Dim colors() As Color = {Color.LightBlue, Color.LightGreen, Color.LightYellow, Color.Red, Color.Orange}

     Dim names() As String = {"Alan Smith", "Anne Dodsworth", "Boyan Mastoni", "Richard Duncan", "Maria Shnaider"}

     For i As Integer = 0 To names.Length - 1
         Dim resource As New Telerik.WinControls.UI.Resource()
         resource.Id = New EventId(i)
         resource.Name = names(i)
         resource.Color = colors(i)
         Me.RadScheduler1.Resources.Add(resource)
     Next i
     Me.RadScheduler1.GroupType = GroupType.Resource
     Me.RadScheduler1.ActiveView.ResourcesPerView = 2

     Dim rand As New Random

     For index = 1 To 20
         Dim appointment As New Appointment(Date.Now.AddHours(index), TimeSpan.FromMinutes(30), "Summary", "Description")
         appointment.StatusId = RadScheduler1.Statuses(rand.Next(0, RadScheduler1.Statuses.Count)).Id
         appointment.BackgroundId = RadScheduler1.Backgrounds(rand.Next(0, RadScheduler1.Backgrounds.Count)).Id
         appointment.ResourceId = RadScheduler1.Resources(rand.Next(0, RadScheduler1.Resources.Count)).Id
         Me.RadScheduler1.Appointments.Add(appointment)
     Next
     RadSchedulerLocalizationProvider.CurrentProvider = New CustomSchedulerLocalizationProviderInglese()
 End Sub

 Public Class CustomSchedulerLocalizationProviderInglese
     Inherits RadSchedulerLocalizationProvider
     Public Overrides Function GetLocalizedString(id As String) As String
         
         Return MyBase.GetLocalizedString(id)

     End Function
 End Class
Completed
Last Updated: 01 Oct 2014 13:12 by ADMIN
The AppointmentResizeEnd event fires in cases where there was no resize done (for example when selecting appointments)

To workaround:

public Form1()
{
    InitializeComponent();
    this.radScheduler1.SchedulerElement.ResizeBehavior = new MyResizeBehavior(this.radScheduler1);
}
 
class MyResizeBehavior : AppointmentResizingBehavior
{
    public MyResizeBehavior(RadScheduler scheduler)
        :base(scheduler) { }
 
    public override bool EndResize(IEvent appointment)
    {
        if (!this.IsResizing)
        {
            return false;
        }
        return base.EndResize(appointment);
    }
}
Completed
Last Updated: 01 Oct 2014 13:14 by Mark
Add support for parsing hourly recurrence rules from a database. 
Completed
Last Updated: 04 Jul 2014 10:31 by ADMIN
To reproduce:
- Open an appointment with the open item button from the alarm form.
- Change the appointment start time and close it. 
- The "Due in' column in the grid is not properly updated.
Completed
Last Updated: 30 May 2014 09:49 by ADMIN
To reproduce:
1. Add a RadSheduler with one Appointment with more than one resources (e.g. add two EventIds in its  ResourceIds collection).
2.Group the scheduler by resources setting the GroupType property to GroupType.Resource.
3.Use SchedulerViewType.Timeline.

When you try to resize the appointment for one of the resources, the expected result is this appointment to be resized for all of its resources.

Workaround: Use the AppointmentMouseUp event and manually perform the refresh:

Private Sub sched_AppointmentMouseUp(sender As Object, e As SchedulerAppointmentMouseEventArgs)
    If e.Button = Windows.Forms.MouseButtons.Left Then
        Me.sched.SchedulerElement.Refresh()
    End If
End Sub
Completed
Last Updated: 31 Dec 2014 07:08 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 2
Category: Scheduler/Reminder
Type: Bug Report
2
To reproduce:
public Form1()
{
    InitializeComponent();
    List<string> resources = new List<string>();
    for (int index = 1; index <= 30; index++)
    {
        resources.Add("Resource" + index);
    }

    for (int i = 0; i <= resources.Count - 1; i++)
    {
        Resource resource = new Resource();
        resource.Id = new EventId(i);
        resource.Name = resources[i];
        this.RadSchedulerDemo.Resources.Add(resource);
    }

    this.RadSchedulerDemo.GroupType = GroupType.Resource;
    Appointment appointment = null;
    this.RadSchedulerDemo.ActiveViewType = SchedulerViewType.Timeline;
    TimelineGroupingByResourcesElement headerElement = this.RadSchedulerDemo.SchedulerElement.ViewElement as TimelineGroupingByResourcesElement;
    headerElement.ResourceHeaderWidth = 150;
    Random rand = new Random();

    for (int i = 0; i <= 99; i++)
    {
        appointment = new Appointment(DateTime.Now.AddHours(i), new TimeSpan(30), "Summary" + i, "Description" + i, "location" + i);
        appointment.ResourceId = this.RadSchedulerDemo.Resources[rand.Next(0, this.RadSchedulerDemo.Resources.Count)].Id;
        appointment.BackgroundId = Convert.ToInt32(this.RadSchedulerDemo.Backgrounds[rand.Next(0, this.RadSchedulerDemo.Backgrounds.Count)].Id);
        this.RadSchedulerDemo.Appointments.Add(appointment);
    }

    this.RadSchedulerDemo.GetTimelineView().ShowTimescale(Timescales.Hours);
    SchedulerTimescale timescale1 = this.RadSchedulerDemo.GetTimelineView().GetScaling();
    timescale1.DisplayedCellsCount = 30;
    this.RadSchedulerDemo.ActiveView.ResourcesPerView = 10;
}

Try to scroll to the last resource when you ResourcesPerView =2 and when ResourcesPerView =10. You will notice considerable difference in scrolling speed.
Completed
Last Updated: 12 May 2014 14:25 by ADMIN
To reproduce:
- Add RadScheduler to a blank form.
- Set its AllowAppointmentResize property to false.
- You will notice that the resize squares are not removed from the selected appointment.
Completed
Last Updated: 06 Apr 2016 10:17 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Scheduler/Reminder
Type: Feature Request
0
Description: Using the AppointmentFormatting event, setting the AppointmentElement's TextOrientation property  to Vertical should paint the content text in the corresponding orientation.
Completed
Last Updated: 13 May 2014 15:11 by ADMIN
To reproduce:


Add a scheduler to a Form. Subscribe to the PropertyChanged of the active view:


this.scheduler.ActiveView.PropertyChanged += ActiveView_PropertyChanged;


Set the scheduler's ActiveViewType to Week and then Day, this will cause the StartDate to change. 


this.scheduler.ActiveViewType = SchedulerViewType.Week;
this.scheduler.ActiveViewType = SchedulerViewType.Day;


void ActiveView_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
    if (e.PropertyName == "StartDate")
    {
        Console.WriteLine(this.scheduler.ActiveView.GetType()); // results in WeekView
        Debugger.Break();
    }
}


You will notice that even that the ActiveView is WeekView the StartDate is changed when setting the ActiveViewType to Day. The PropertyChanged event for StartDate should be fired for the appropriate new ViewType.
Completed
Last Updated: 12 May 2014 08:13 by ADMIN
To reproduce:


Set the following property:
this.scheduler.SchedulerElement.EditorManager.EditorViewMode = SchedulerEditorViewMode.EditorDialog;


After that when editing an appointment a small dialog should appear on the side of the appointment.


You will notice that it is very hard to make the dialog appear and it is not very clear at what conditions.


Workaround:


Show the dialog whenever you need it. For example, when an appointment is clicked:


this.scheduler.SchedulerElement.EditorManager.EditorViewMode = SchedulerEditorViewMode.EditorDialog;


this.scheduler.MouseClick += scheduler_MouseClick;


void scheduler_MouseClick(object sender, MouseEventArgs e)
{
    if (this.scheduler.ElementTree.GetElementAtPoint(e.Location) as AppointmentElement != null)
    {
        this.scheduler.SchedulerElement.EditorManager.BeginEdit();
    }
}
Completed
Last Updated: 06 Jun 2014 15:04 by ADMIN
To reproduce:
1. Have a scheduler grouped by resource 
2. On a button click call its PrintPreview method
3. Open the print settings dialog
4. Select Weekly Style
5. Select Grouped by: Resource
6. Select Two pages per week 
at this point, exception is thrown

Workaround:
  protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            AddScheduler();

            radScheduler1.PrintSettingsDialogFactory = new MyFactory();
        }

        private void radButton1_Click(object sender, EventArgs e)
        {
            radScheduler1.PrintPreview();
        }

        class MySchedulerPrintSettingsDialogFactory : SchedulerPrintSettingsDialog
        {
            SchedulerPrintStyleSettings userControl;
            RadDropDownList groupBy;
            RadDropDownList twoPagesPerView;
            RadDropDownList printStyle;

            public MySchedulerPrintSettingsDialogFactory(RadPrintDocument document)
                : base(document)  { }

            protected override Control CreateFormatControl()
            {
                userControl = base.CreateFormatControl() as SchedulerPrintStyleSettings;
                RadGroupBox groupBox = userControl.Controls["groupBoxStyleSettings"] as RadGroupBox;

                groupBy = groupBox.Controls["dropDownGroupBy"] as RadDropDownList;
                groupBy.SelectedIndexChanged += groupBy_SelectedIndexChanged;

                twoPagesPerView = groupBox.Controls["dropDownLayout"] as RadDropDownList;
                twoPagesPerView.SelectedIndexChanging += twoPagesPerView_SelectedIndexChanging;

                RadGroupBox groupBoxMain = userControl.Controls["groupBoxPrintStyle"] as RadGroupBox;
                printStyle = groupBoxMain.Controls["dropDownPrintStyle"] as RadDropDownList;
                printStyle.SelectedValueChanged += printStyle_SelectedValueChanged;
                return userControl;
            }

            void printStyle_SelectedValueChanged(object sender, EventArgs e)
            {
                if (printStyle.SelectedItem.Text == "Weekly Style")
                {
                    twoPagesPerView.SelectedItem = twoPagesPerView.Items[0];
                }
            }

            void twoPagesPerView_SelectedIndexChanging(object sender, Telerik.WinControls.UI.Data.PositionChangingCancelEventArgs e)
            {
                if (groupBy.SelectedItem.Text == "Resource" && e.Position == 1)
                {
                    e.Cancel = true;
                    RadMessageBox.Show("Two pages per view is not supported in GroupBy:Resource mode");
                }
            }

            void groupBy_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
            {
                if (groupBy.Items[e.Position].Text == "Resource")
                {
                    twoPagesPerView.SelectedItem = twoPagesPerView.Items[0];
                }
            }
        }

        class MyFactory : IPrintSettingsDialogFactory
        {
            public Form CreateDialog(RadPrintDocument document)
            {
                return new MySchedulerPrintSettingsDialogFactory(document);
            }
        }