Log In
[Expand]General Information
[Collapse]WinForms Controls
 [Expand]What's Installed
 [Expand]Build an Application
 [Collapse]Controls and Libraries
  [Expand]Forms and User Controls
  [Expand]Messages, Notifications and Dialogs
  [Expand]Editors and Simple Controls
  [Expand]Ribbon, Bars and Menu
  [Expand]Application UI Manager
  [Expand]Docking Library
  [Expand]Data Grid
  [Expand]Vertical Grid
  [Expand]Pivot Grid
  [Expand]Tree List
  [Expand]Chart Control
  [Expand]Map Control
   [Expand]Product Information
   [Expand]Getting Started
    [Expand]Scheduler Elements
    [Expand]Scheduler Structure
     Resources for Appointments
     Pop-up Menus
    [Collapse]Data Binding
     [Collapse]Data Sources
       Microsoft Access Database
       Microsoft SQL Server
       Business Objects
       Entity Framework
       Entity Framework Code First
       eXpress Persistent Objects (XPO)
       XML Data
       Hierarchical Resource Specifics
       Gantt View Specifics
      FetchAppointments Event - Handling Large Datasets
    [Expand]Supported Formats
    [Expand]Time Zones
    [Expand]Scheduler Reporting
   [Expand]Visual Elements
   [Expand]Design-Time Features
   [Expand]End-User Capabilities
   [Expand]Member Tables
  [Expand]Rich Text Editor
  [Expand]Spell Checker
  [Expand]Form Layout Managers
  [Expand]Navigation Controls
  [Expand]PDF Viewer
  [Expand]TreeMap Control
 [Expand]Common Features
  Get More Help
 [Expand]API Reference
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Report Server
[Expand]eXpressApp Framework
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

Data Sources

This section contains information required to implement a scheduling application that uses a Scheduler bound to an external data source. You can find examples of the data tables structure for a particular data provider used to store appointments and resources.

When you bind the Scheduler to a data source, you will need to map properties of the Appointment, Resource and AppointmentDependency objects to data source fields. To learn about the concept of data mapping, review the Mappings document.

The following topics describe the data structures specific for different data sources.

If you plan to implement import/export operations with MS Outlook or MS Exchange calendars, provide a special field in your data table. This field will store the EntryID for Outlook or Exchange messages. You are advised to set its type as a string with a length of at least 50 for MS Outlook or 130 for MS Exchange. The next generation of MS products may require longer identifiers, so use variable length fields to be on the safe side. For more information, refer to the Synchronization with Microsoft Outlook topic.

It is not necessary to define a relation between the Appointments and Resources tables because the XtraScheduler simply stores the appropriate Resources.ResourceID field value in the Appointments.ResourceID field if all data fields are mapped correctly.

When multiple resources are associated with an appointment (the SchedulerStorage.Appointments.ResourceSharing property is set to true, i.e. the resource sharing is switched on), the data field to which the list of resource identifiers is mapped holds XML data, so its data type should be changed to fit the text of the proper length.

Resource identifiers starting from version 15.2 are stored Base64 encoded. Set the SchedulerCompatibility.Base64XmlObjectSerialization property to false to revert to the previous storage format.


Enclose appointment and resource data source assignments in SchedulerStorageBase.BeginUpdate - SchedulerStorageBase.EndUpdate transaction pair. This step is required because layout calculation starts asynchronously immediately after each data source assignment. In the case of several data source assignments which follows each other, the layout events may occur before a layout is finalized.

Expanded See Also

How would you rate this topic?​​​​​​​