Class
TelerikScheduler<TItem>

The class for the Telerik Scheduler component.

Definition

Namespace:Telerik.Blazor.Components

Assembly:Telerik.Blazor.dll

Type Parameters:

TItem

Syntax:

cs-api-definition
public class TelerikScheduler<TItem> : BaseComponent, IComponent, IHandleEvent, IHandleAfterRender, IDisposable

Inheritance: objectComponentBaseBaseComponentTelerikScheduler<TItem>

Implements: IComponentIDisposableIHandleAfterRenderIHandleEvent

Inherited Members BaseComponent.ShouldRender()BaseComponent.OnInitializedAsync()BaseComponent.InitLocalizer()BaseComponent.ThrowIfParameterIsNull(object, string)BaseComponent.HaveOptionsChanged(IDictionary<string, object>, IDictionary<string, object>)BaseComponent.GetClassString(params string[])BaseComponent.InvokeAsync<T>(string, params object[])BaseComponent.InvokeAsync<T>(string, CancellationToken, params object[])BaseComponent.InvokeVoidAsync(string, params object[])BaseComponent.InvokeComponentMethodAsync<T>(string, params object[])BaseComponent.InvokeComponentMethodAsync<T>(string, CancellationToken, params object[])BaseComponent.InvokeVoidComponentMethodAsync(string, params object[])BaseComponent.InvokeComponentVoidMethodAsync(string, object)BaseComponent.InvokeDisposeAsync()BaseComponent.StateHasChanged()BaseComponent.RootComponentBaseComponent.ClassComponentBase.OnInitialized()ComponentBase.OnParametersSet()ComponentBase.OnAfterRender(bool)ComponentBase.InvokeAsync(Action)ComponentBase.InvokeAsync(Func<Task>)ComponentBase.DispatchExceptionAsync(Exception)

Constructors

TelerikScheduler()

Declaration

cs-api-definition
public TelerikScheduler()

Properties

AllDayItemTemplate

Customizes the visual appearance of all-day appointments. Receives the appointment data object as context. Used specifically for appointments marked as all-day in Day, Week and MultiDay views. These appointments appear in a dedicated section above the hourly time slots.

Declaration

cs-api-definition
[Parameter]
public RenderFragment<object> AllDayItemTemplate { get; set; }

Property Value

RenderFragment<object>

AllowCreate

Controls whether users can create new appointments in the Scheduler. When enabled, users can create appointments by double-clicking empty time slots or using the toolbar. Requires the OnCreate event handler to persist new appointments.

Declaration

cs-api-definition
[Parameter]
public bool AllowCreate { get; set; }

Property Value

bool

AllowDelete

Controls whether users can delete existing appointments from the Scheduler. When enabled, users can remove appointments through context menus or keyboard shortcuts. Requires the OnDelete event handler to complete the deletion.

Declaration

cs-api-definition
[Parameter]
public bool AllowDelete { get; set; }

Property Value

bool

AllowUpdate

Controls whether users can edit existing appointments in the Scheduler. When enabled, users can modify appointments by double-clicking them or using context menus. Requires the OnUpdate event handler to save changes.

Declaration

cs-api-definition
[Parameter]
public bool AllowUpdate { get; set; }

Property Value

bool

ConfirmDelete

Controls whether appointment deletion requires user confirmation. When enabled, shows a confirmation dialog before proceeding with deletion. Helps prevent accidental appointment removal.

Declaration

cs-api-definition
[Parameter]
public bool ConfirmDelete { get; set; }

Property Value

bool

Data

Provides the appointment data that populates the Scheduler. Should be a collection of objects containing appointment information like title, start/end times, and other properties. The field names are configurable through properties like TitleField, StartField, and EndField.

Declaration

cs-api-definition
[Parameter]
public IEnumerable<TItem> Data { get; set; }

Property Value

IEnumerable<TItem>

Date

Sets the currently displayed date in the Scheduler. Determines which time period is visible based on the selected View. For example, in Day view shows that specific day, in Month view shows the month containing this date.

Declaration

cs-api-definition
[Parameter]
public DateTime Date { get; set; }

Property Value

DateTime

DateChanged

Fires when the user navigates to a different date through the toolbar navigation or date picker. Provides the new selected date that determines the visible time period.

Declaration

cs-api-definition
[Parameter]
public EventCallback<DateTime> DateChanged { get; set; }

Property Value

EventCallback<DateTime>

DescriptionField

Specifies which property contains detailed appointment information in your data objects. Typically used in the edit form to provide additional context about the appointment. Example: "Details" or "Notes".

Declaration

cs-api-definition
[Parameter]
public string DescriptionField { get; set; }

Property Value

string

DialogFactory

Declaration

cs-api-definition
[CascadingParameter]
public DialogFactory DialogFactory { get; set; }

Property Value

DialogFactory

EnableLoaderContainer

Controls whether a loading overlay appears during data operations and view changes. When enabled, provides visual feedback during appointment creation, updates, deletions, and view transitions.

Declaration

cs-api-definition
[Parameter]
public bool EnableLoaderContainer { get; set; }

Property Value

bool

EndField

Specifies which property contains the appointment end date and time in your data objects. Must be a DateTime value that determines when the appointment ends. Example: "EndDate" or "FinishTime".

Declaration

cs-api-definition
[Parameter]
public string EndField { get; set; }

Property Value

string

FocusedIndex

Declaration

cs-api-definition
public int FocusedIndex { get; set; }

Property Value

int

Height

Controls the height of the Scheduler component. Accepts CSS values like "400px", "100%", or "50vh". Setting the height enables proper scrolling behavior.

Declaration

cs-api-definition
[Parameter]
public string Height { get; set; }

Property Value

string

Id

Sets the unique HTML id attribute for the Scheduler component. Useful for custom styling, accessibility, or JavaScript integration. Example: "my-scheduler".

Declaration

cs-api-definition
[Parameter]
public string Id { get; set; }

Property Value

string

IdField

Specifies which property contains the unique identifier for appointments in your data objects. Required for proper CRUD operations and appointment tracking. Should be a unique value per appointment. Example: "AppointmentId" or "EventId".

Declaration

cs-api-definition
[Parameter]
public string IdField { get; set; }

Property Value

string

IsAllDayField

Specifies which property indicates whether an appointment spans the entire day in your data objects. Must be a boolean value. All-day appointments appear in a dedicated section above time slots in Day, Week, and MultiDay views. Example: "AllDay" or "FullDay".

Declaration

cs-api-definition
[Parameter]
public string IsAllDayField { get; set; }

Property Value

string

IsGrouped

Declaration

cs-api-definition
public bool IsGrouped { get; }

Property Value

bool

ItemTemplate

Customizes the visual appearance of regular appointments in all views. Receives the appointment data object as context. Use this to display appointment details beyond the default title. Applied to appointments in the main time section of Day, Week, and MultiDay views, and all appointments in Month, Timeline, and Agenda views.

Declaration

cs-api-definition
[Parameter]
public RenderFragment<object> ItemTemplate { get; set; }

Property Value

RenderFragment<object>

OnCancel

Fires when a user cancels an edit or create operation by closing dialogs without saving. Use this event to perform cleanup operations or revert any temporary changes made during the editing process.

Declaration

cs-api-definition
[Parameter]
public EventCallback<SchedulerCancelEventArgs> OnCancel { get; set; }

Property Value

EventCallback<SchedulerCancelEventArgs>

OnCellRender

Fires during time slot rendering to allow custom styling of calendar cells. Use this to highlight specific dates, mark holidays, or apply conditional styling based on date properties. Called for each visible time slot in the current view.

Declaration

cs-api-definition
[Parameter]
public Action<SchedulerCellRenderEventArgs> OnCellRender { get; set; }

Property Value

Action<SchedulerCellRenderEventArgs>

OnCreate

Fires when a user creates a new appointment through double-clicking time slots or using the toolbar. Handle this event to add the new appointment to your data source. The event provides the appointment details entered by the user.

Declaration

cs-api-definition
[Parameter]
public EventCallback<SchedulerCreateEventArgs> OnCreate { get; set; }

Property Value

EventCallback<SchedulerCreateEventArgs>

OnDelete

Fires when a user confirms deletion of an appointment through context menus or keyboard shortcuts. Handle this event to remove the appointment from your data source. The event provides the appointment data to be deleted.

Declaration

cs-api-definition
[Parameter]
public EventCallback<SchedulerDeleteEventArgs> OnDelete { get; set; }

Property Value

EventCallback<SchedulerDeleteEventArgs>

OnEdit

Fires when a user attempts to edit an appointment by double-clicking it or accessing edit through context menus. Cancel this event to prevent the edit dialog from opening. Use this for conditional editing based on appointment properties or user permissions.

Declaration

cs-api-definition
[Parameter]
public EventCallback<SchedulerEditEventArgs> OnEdit { get; set; }

Property Value

EventCallback<SchedulerEditEventArgs>

OnItemClick

Fires when a user clicks on an appointment in any view. Use this event to show appointment details, trigger custom actions, or handle appointment selection. Provides the clicked appointment data and mouse event information.

Declaration

cs-api-definition
[Parameter]
public EventCallback<SchedulerItemClickEventArgs> OnItemClick { get; set; }

Property Value

EventCallback<SchedulerItemClickEventArgs>

OnItemContextMenu

Fires when a user right-clicks on an appointment to trigger context menu actions. Use this event to show custom context menus or handle right-click behaviors specific to appointments. Provides the right-clicked appointment data and mouse event information.

Declaration

cs-api-definition
[Parameter]
public EventCallback<SchedulerItemContextMenuEventArgs> OnItemContextMenu { get; set; }

Property Value

EventCallback<SchedulerItemContextMenuEventArgs>

OnItemDoubleClick

Fires when a user double-clicks on an appointment in any view. By default, double-clicking opens the edit dialog. Use this event for custom double-click behavior. Provides the double-clicked appointment data and mouse event information.

Declaration

cs-api-definition
[Parameter]
public EventCallback<SchedulerItemDoubleClickEventArgs> OnItemDoubleClick { get; set; }

Property Value

EventCallback<SchedulerItemDoubleClickEventArgs>

OnItemRender

Fires during appointment rendering to allow custom styling based on appointment data. Use this to add CSS classes, modify appearance, or set conditional styling based on appointment properties. Called for each visible appointment in the current view.

Declaration

cs-api-definition
[Parameter]
public Action<SchedulerItemRenderEventArgs> OnItemRender { get; set; }

Property Value

Action<SchedulerItemRenderEventArgs>

OnModelInit

Provides a factory function for creating new appointment instances when the default constructor is unavailable. Called during appointment creation to initialize new data objects with default values or required properties. If not specified, the component uses Activator.CreateInstance to create new appointment objects.

Declaration

cs-api-definition
[Parameter]
public Func<TItem> OnModelInit { get; set; }

Property Value

Func<TItem>

OnUpdate

Fires when a user saves changes to an existing appointment through the edit dialog. Handle this event to update the appointment in your data source. The event provides both original and modified appointment data.

Declaration

cs-api-definition
[Parameter]
public EventCallback<SchedulerUpdateEventArgs> OnUpdate { get; set; }

Property Value

EventCallback<SchedulerUpdateEventArgs>

RecurrenceExceptionsField

Specifies which property contains dates when recurring appointments should be skipped in your data objects. Used to exclude specific occurrences from recurring appointment series. Should be a collection of DateTime values. Example: "ExceptionDates" or "SkippedDates".

Declaration

cs-api-definition
[Parameter]
public string RecurrenceExceptionsField { get; set; }

Property Value

string

RecurrenceIdField

Specifies which property contains the parent appointment ID for recurring appointment exceptions in your data objects. Links exception appointments to their parent recurring series using the parent's IdField value. Example: "MasterEventId" or "ParentAppointmentId".

Declaration

cs-api-definition
[Parameter]
public string RecurrenceIdField { get; set; }

Property Value

string

RecurrenceRuleField

Specifies which property contains recurrence pattern rules in your data objects. Used for repeating appointments. Should contain recurrence rule strings in standard format. Example: "RecurrenceRule" or "RepeatRule".

Declaration

cs-api-definition
[Parameter]
public string RecurrenceRuleField { get; set; }

Property Value

string

Resources

Declaration

cs-api-definition
public Dictionary<string, Resource> Resources { get; set; }

Property Value

Dictionary<string, Resource>

SchedulerResources

Defines the container for the Scheduler resources. Children: SchedulerResource tags.

Declaration

cs-api-definition
[Parameter]
public RenderFragment SchedulerResources { get; set; }

Property Value

RenderFragment

SchedulerSettings

Defines the container for the Scheduler settings. Children: SchedulerGroupSettings.

Declaration

cs-api-definition
[Parameter]
public RenderFragment SchedulerSettings { get; set; }

Property Value

RenderFragment

SchedulerToolBar

Defines the container for the Scheduler toolbar that appears above the calendar views. Contains navigation controls, date picker, and view selection tools. When not specified, displays default navigation and view selection tools. Children: SchedulerToolBarCustomTool, SchedulerToolBarNavigationTool, SchedulerToolBarCalendarTool, SchedulerToolBarViewsTool .

Declaration

cs-api-definition
[Parameter]
public RenderFragment SchedulerToolBar { get; set; }

Property Value

RenderFragment

SchedulerViews

Declaration

cs-api-definition
[Parameter]
public RenderFragment SchedulerViews { get; set; }

Property Value

RenderFragment

SelectedView

Declaration

cs-api-definition
public ISchedulerView SelectedView { get; }

Property Value

ISchedulerView

StartField

Specifies which property contains the appointment start date and time in your data objects. Must be a DateTime value that determines when the appointment begins. Example: "StartDate" or "BeginTime".

Declaration

cs-api-definition
[Parameter]
public string StartField { get; set; }

Property Value

string

TitleField

Specifies which property contains the appointment title text in your data objects. The title appears as the main text displayed within appointments in all views. Example: "Subject" or "EventName".

Declaration

cs-api-definition
[Parameter]
public string TitleField { get; set; }

Property Value

string

View

Controls which calendar view is currently active in the Scheduler. Day displays a single day with hourly time slots. Week shows a full week with daily columns. Month presents a monthly calendar view. MultiDay displays a custom number of days side by side. Timeline shows appointments in a horizontal timeline format. Agenda presents appointments in a list format.

Declaration

cs-api-definition
[Parameter]
public SchedulerView View { get; set; }

Property Value

SchedulerView

ViewChanged

Fires when the user switches between different calendar views using the toolbar view selector. Provides the newly selected SchedulerView that determines the layout and time period display.

Declaration

cs-api-definition
[Parameter]
public EventCallback<SchedulerView> ViewChanged { get; set; }

Property Value

EventCallback<SchedulerView>

Width

Controls the width of the Scheduler component. Accepts CSS values like "800px", "100%", or "auto". If not set, the Scheduler takes the full width of its container.

Declaration

cs-api-definition
[Parameter]
public string Width { get; set; }

Property Value

string

Methods

BuildRenderTree(RenderTreeBuilder)

Declaration

cs-api-definition
protected override void BuildRenderTree(RenderTreeBuilder __builder)

Parameters

__builder

RenderTreeBuilder

Overrides ComponentBase.BuildRenderTree(RenderTreeBuilder)

Dispose()

Declaration

cs-api-definition
public override void Dispose()

Overrides BaseComponent.Dispose()

GetTimeSlotFromDropIndex(string)

Declaration

cs-api-definition
public TimeSlot GetTimeSlotFromDropIndex(string index)

Parameters

index

string

Returns

TimeSlot

GetWidgetOptions()

Declaration

cs-api-definition
protected virtual Dictionary<string, object> GetWidgetOptions()

Returns

Dictionary<string, object>

HideLoaderAsync()

Declaration

cs-api-definition
protected virtual Task HideLoaderAsync()

Returns

Task

OnAfterRenderAsync(bool)

Declaration

cs-api-definition
protected override Task OnAfterRenderAsync(bool firstRender)

Parameters

firstRender

bool

Returns

Task

Overrides BaseComponent.OnAfterRenderAsync(bool)

OnParametersSetAsync()

Declaration

cs-api-definition
protected override Task OnParametersSetAsync()

Returns

Task

Overrides ComponentBase.OnParametersSetAsync()

Rebind()

Processes the available data with applied all data operations. Useful in scenarios where the data might change from an outside source. If the component contains OnRead, the method triggers the event so that fresh data can be supplied.

Declaration

cs-api-definition
public virtual void Rebind()

Refresh()

Re-renders the component.

Declaration

cs-api-definition
public void Refresh()

SetParametersAsync(ParameterView)

Declaration

cs-api-definition
public override Task SetParametersAsync(ParameterView parameters)

Parameters

parameters

ParameterView

Returns

Task

Overrides ComponentBase.SetParametersAsync(ParameterView)

ShowLoaderAsync()

Declaration

cs-api-definition
protected virtual Task ShowLoaderAsync()

Returns

Task