How to configure the VisibleRange

The built-in RadScheduleView ViewDefinitions have specific ways to determine what the visible range will be when the CurrentDate property is set:

Type VisibleRangeStart VisibleDays
DayViewDefinition CurrentDate 1
WeekViewDefinition The first day of the week, containing CurrentDate 7
MonthViewDefinition The first day of the first week of the month, containing CurrentDate 42
TimelineViewDefinition CurrentDate 7

The VisibleRangeEnd is VisibleRangeStart+VisibleDays for all view definitions.

The easiest way to create a WeekViewDefinition that behaves like the DayViewDefinition is to use a DayViewDefinition and set its VisibleDays=7.

For advanced customization of the VisibleRange the ViewDefinitionBase class provides two virtual methods:

protected virtual DateTime GetVisibleRangeStart (DateTime currentDate, CultureInfo culture, DayOfWeek? firstDayOfWeek); 
 
protected virtual DateTime GetVisibleRangeEnd(DateTime currentDate, CultureInfo culture, DayOfWeek? firstDayOfWeek); 

For example, the following class represents a MonthViewDefinition that starts from the first week of CurrentDate:

public class CustomMonthViewDefinition : MonthViewDefinition 
{ 
    protected override DateTime GetVisibleRangeStart(DateTime currentDate, CultureInfo culture, DayOfWeek? firstDayOfWeek) 
    { 
        return CalendarHelper.GetFirstDayOfWeek(currentDate, firstDayOfWeek.Value); 
    } 
} 

Since VisibleDays is 42 by default, this CustomMonthViewDefinition will display 6 weeks, as the standard MonthViewDefinition does.

Here is how to use the CustomMonthViewDefinition:

<telerik:RadScheduleView> 
    <telerik:RadScheduleView.ViewDefinitions> 
        <local:CustomMonthViewDefinition /> 
    </telerik:RadScheduleView.ViewDefinitions> 
</telerik:RadScheduleView> 
In this article