[Expand]General Information
[Collapse]WinForms Controls
  Prerequisites
 [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]Property Grid
  [Expand]Pivot Grid
  [Expand]Tree List
  [Expand]Chart Control
  [Expand]Diagrams
  [Expand]Gauges
  [Expand]Map Control
  [Collapse]Scheduler
   [Expand]Product Information
    Getting Started
   [Expand]Scheduler Elements and Structure
   [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
    [Expand]Mappings
     FetchAppointments Event - Handling Large Datasets
   [Expand]Appointments
   [Expand]Views
   [Expand]Supported Formats
    Printing
   [Expand]Scheduler Reporting
   [Expand]Time Zones
   [Expand]Design-Time Features
   [Expand]End-User Capabilities
   [Expand]Services
   [Expand]Member Tables
   [Expand]Visual Elements
   [Expand]Examples
  [Expand]Spreadsheet
  [Expand]Rich Text Editor
  [Expand]Spell Checker
  [Expand]Form Layout Managers
  [Expand]Navigation Controls
  [Expand]Printing-Exporting
  [Expand]PDF Viewer
   Reporting
  [Expand]Snap
  [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]Office File API
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

Business Objects

The Scheduler can be bound to a collection of custom objects. This document contains a brief overview of collection types and contains an example of code that is used to implement appointment and resource objects.

A Scheduler Storage can be bound to a System.ComponentModel.BindingList<T> class instance (a generic collection that supports data binding), or a System.Collections.ObjectModel.ObservableCollection<T> class instance (a dynamic data collection that provides notifications). When you consider the type of item to use in a collection, make sure that its properties can be mapped to the Scheduler Storage fields in a straightforward way (i.e., the property value type must correspond to the data type used in the mapping). This rule prohibits the use of the System.Collections.ObjectModel.ObservableCollection<Appointment> collection as the data source because the mapping AppointmentMappingInfo.RecurrenceInfo requires a mapped field of type string, not the RecurrenceInfo data type. Review the code snippet below for information on data types required for specific mappings.

The following code demonstrates how to implement appointment and resource objects.

Show Me

A complete sample project is available in the DevExpress Code Examples database at http://www.devexpress.com/example=E750.

Note

Do not implement a property in your custom object that returns a collection. You should instead implement a container class that has a property to get and set the collection, and use this class in the corresponding custom object property instead.

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