Scheduling Overview

October 10, 2016
Work Week
About Scheduling

The code samples demonstrate how to add the scheduler to your project.

The Scheduler updates itself via callbacks. You have to define the Scheduler extension in a separate Partial View and use the CallbackRouteValues property to specify the Controller and an Action which will handle callbacks. Additionally, to handle callbacks related to appointment editing, set the EditAppointmentRouteValues property.

The SchedulerSettings in the view is used to set the initial Scheduler settings and specify the appointment storage that holds appointment data.

Partial View code:

@using DevExpress.XtraScheduler;
@Html.DevExpress().Scheduler(settings => {
    settings.Name = "scheduler";
    settings.CallbackRouteValues = new { Controller = "Overview", Action = "OverviewPartial" };
    settings.EditAppointmentRouteValues = new { Controller = "Overview", Action = "OverviewPartialEditAppointment" };
    settings.Start = new DateTime(2014, 5, 23);


    settings.Views.DayView.Styles.ScrollAreaHeight = Unit.Pixel(300);
    settings.Views.WeekView.Styles.DateCellBody.Height = Unit.Pixel(250);
    settings.Views.FullWeekView.Styles.ScrollAreaHeight = Unit.Pixel(300);
    settings.Views.WeekView.Enabled = false;
    settings.Views.FullWeekView.Enabled = true;
    settings.Views.TimelineView.Enabled = false;
    settings.Views.WorkWeekView.Enabled = false;
}).Bind(Model.Appointments, Model.Resources).GetHtml()

The Controller code implements the actions that will handle the callbacks ("OverviewPartial" and "OverviewPartialEditAppointment" in the code sample below).

Controller code:

public partial class OverviewController: DemoController {
    public override string Name { get { return ""; } }

    public ActionResult Index() {
        return DemoView("Overview", SchedulerDataHelper.EditableDataObject);
    public ActionResult OverviewPartial() {
        return PartialView("OverviewPartial", SchedulerDataHelper.EditableDataObject);
    public ActionResult OverviewPartialEditAppointment() {
        return PartialView("OverviewPartial", SchedulerDataHelper.EditableDataObject);

Key Features
  • Multiple View Types for Efficient Data Representation
    The Scheduler includes views for a detailed picture of events across one or more days, for any given weekly period and across multiple weeks. Events can be arranged across horizontal timelines. Multiple resource mode allows end-users to browse multiple schedules simultaneously.
  • Built-in Event Management, Recurrence and Reminders
    All appointment dialogs are ready to use and can be fully customized and extended. Built-in dialogs, objects and methods handle recurring event chains. You can set a reminder for any event.
  • Extended Date Selection with Date Navigator
    Like Microsoft Outlook, the Date Navigator Control provides an intuitive way with which to select dates.
  • Data Binding, Import, Export
    The Scheduler can be used in a databound mode with external data sources. The support for iCalendar RFC 2445 standard allows you to exchange scheduling data between your application and other calendars.
  • Printing
    Scheduler Reports give you the ability to print a schedule or export your calendar in PDF and various graphic formats. You can design your schedule's appearance for the printed page.
  • Time Zone Support
    All time-dependent data can be stored translated to UTC and displayed according to the client time zone. The Day View can display multiple time rulers with different time zone settings.
Version: v2017 vol 1.6
Copyright © 2006-2017 Developer Express Inc
Your Next Great MVC App Starts Here

Get started today and download your 30-day trial of DevExpress MVC Extensions (includes 30 days of free technical support).

All demos ship with full source code and are included in the DevExpress MVC distribution. Refer to the Demos and Sample Applications topic to learn more.

DevExpress MVC Extensions ship as part of DevExpress Universal, DXperience and ASP.NET Subscriptions and are backed by a 60 day unconditional money-back guarantee.
To learn more and obtain pricing information, visit the Compare Features and Pricing webpage. For immediate assistance, contact us by Email at or by phone at +1 (818) 844-3383 between 7:30am and 4:30pm Pacific Time.