[Expand]General Information
[Collapse]WinForms Controls
  .NET Core Support
 [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]Gantt Control
  [Expand]Chart Control
  [Expand]Map Control
   [Expand]Product Information
    Getting Started
   [Expand]Scheduler Elements and Structure
   [Expand]Data Binding
   [Expand]Import and Export
   [Expand]Time Zones
   [Expand]Design-Time Features
   [Expand]End-User Capabilities
   [Expand]Member Tables
   [Expand]Visual Elements
    [Collapse]Data Binding
      How to: Create Appointments with Custom Fields
      How to: Prevent Appointments and Resources from Reloading
      How to: Use the FetchAppointments Event for Faster Appointment Loading
      How to: Filter Appointments
      How to: Filter Resources
      How to: Enable Multi-Resource Appointments
      How to: Bind the Scheduler with Multi-resource Appointments to XPO
    [Expand]Data Exchange
    [Expand]Date and Time
    [Expand]Gantt View
    [Expand]Labels and Statuses
    [Expand]Printing and Reporting
    [Expand]Range Control
  [Expand]Rich Text Editor
  [Expand]Spell Checker
  [Expand]Form Layout Managers
  [Expand]Navigation Controls
  [Expand]PDF Viewer
  [Expand]TreeMap Control
  [Expand]Sunburst 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]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)

How to: Enable Multi-Resource Appointments

To enable your end-user with assigning multiple resources to an appointment, set the AppointmentStorageBase.ResourceSharing property to true. With this option, the appointment editing form displays the AppointmentResourcesEdit control. It facilitates selecting multiple resources for the appointment by checking them in the list.

The data field mapped to the AppointmentMappingInfo.ResourceId property should be of a string type to store the XML text with information on assigned resources. Ensure that its length is enough to accommodate the text so you can set its type to nvarchar(max).

Starting with v15.2, the identifier property values in the Appointment, Resource and AppointmentDependency classes are of the Object type. To properly serialize them to the XML format, Base64 encoding is used by default. To switch back to the former serialization mechanism, set the static property SchedulerCompatibility.Base64XmlObjectSerialization to false.

An XML string for an appointment with two assigned resources is shown below.

The static Base64XmlObjectSerialization property is set to false.

The static Base64XmlObjectSerialization property is set to true (default).


To serialize and de-serialize appointments, use the AppointmentCollection.WriteXml and AppointmentCollection.ReadXml methods. However, you are advised to work with appointment data sources and corresponding data objects instead.

Expanded See Also

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