[Expand]General Information
[Expand]WinForms Controls
[Collapse]ASP.NET Controls and MVC Extensions
 [Expand]What's Installed
 [Expand]Common Concepts
 [Collapse]ASP.NET WebForms Controls
   Getting Started
  [Expand]Grid View
  [Expand]Tree List
  [Expand]Card View
  [Expand]Chart Control
  [Expand]Pivot Grid
  [Expand]Rich Text Editor
   [Expand]Product Information
    Getting Started
   [Expand]Scheduler Elements
     Scheduling Basics
     Floating Action Button
    [Expand]Data Binding
     Client-Side Functionality
     Callback Commands
     Time Zones
     iCalendar Support
     Keyboard Shortcuts
   [Expand]Visual Elements
   [Expand]Design-Time Features
   [Expand]End-User Capabilities
   [Expand]Member Tables
  [Expand]Site Navigation and Layout
  [Expand]HTML Editor
  [Expand]Vertical Grid
  [Expand]Data Editors
  [Expand]Docking and Popups
  [Expand]File Management
  [Expand]Data and Image Navigation
  [Expand]Multi-Use Site Controls
  [Expand]Spell Checker
  [Expand]Query Builder
 [Expand]ASP.NET MVC Extensions
 [Expand]Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

Scheduling Basics

This document describes how a simple scheduling application operates. This topic introduces the basics for providing appointments and resources data for the Scheduler.

Expanded How Does the Scheduling Application Operate?

The Scheduler Control displays the appointments data to end-users and responds to their input. All its data is provided via the built-in Scheduler Storage object. The Scheduler Control knows nothing about the data layer, while the Scheduler Storage knows nothing about end-user interaction.

Client-server interaction is performed via the callback mechanism (default), although the common postback and update panel operation modes are also available.

The navigation between the scheduled appointments can be accomplished via the stand-alone controls of the Suite, or the controls hosted within the main Scheduler control. The Go To Date dialog window serves the same purpose.

Appointment editing can be accomplished via invoking the separate appointment editing form, or in-place. The template mechanism enables customization of the form's appearance.

Expanded Processing the Data Layer

The Scheduler Storage object is intended to work on the data layer to provide appointments and resources data to the scheduling application. In fact, the Scheduler Storage contains two separate data stores - one for appointments (Appointments) and one for resources (Assigning Appointments to Resources). When providing data to these stores, it's necessary to specify mappings between data fields in the datasource, and their interpretation in the storage. Also, these stores provide the ability to optimize data loading, specify options specific to different data, add custom fields, etc.

Both the ASPxAppointmentStorage and the ASPxResourceStorage are inherited from the base PersistentObjectStorage<T> class, which provides all the basic functionality required for data binding. To bind a storage to a specific data table (or another data object) it's necessary to set its DataSource and DataMember properties. Then, specify the ASPxAppointmentStorage.Mappings for the standard and the ASPxAppointmentStorage.CustomFieldMappings for custom mappings of properties to the corresponding data fields in the bound datasource. For example, if the bound data source contains a field called "ProcessStartTime", the Appointment Storage needs to be aware that the value of this data field is the appointment's Appointment.Start value.

Also, the Appointment Storage contains two collections of Appointment Labels and Statuses, accessible via its ASPxAppointmentStorage.Labels and ASPxAppointmentStorage.Statuses properties. Note that these two collections contain standard items, similar to MS Outlook 2003, by default. However, you can customize these collections as needed.

The following schema illustrates the Appointment Storage and its main properties:

The Resource Storage provides all the functionality required to provide resources data for the Scheduler. Mappings should be specified via the ASPxResourceStorage.Mappings and the ASPxResourceStorage.CustomFieldMappings properties.

Appointments and resources are linked via the ASPxAppointmentMappingInfo.ResourceId and ASPxResourceMappingInfo.Id properties.

The following schema illustrates the Resource Storage and its main properties:

Expanded See Also

Is this topic helpful?​​​​​​​