Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[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]Pivot Grid
  [Expand]Tree List
  [Expand]Chart Control
  [Expand]Diagrams
  [Expand]Gauges
  [Expand]Map Control
  [Collapse]Scheduler
   [Expand]Product Information
   [Expand]Getting Started
   [Expand]Fundamentals
   [Expand]Visual Elements
   [Expand]Design-Time Features
   [Collapse]Examples
    [Expand]Appearance
    [Expand]Data Binding
    [Expand]Data Exchange
    [Expand]DateTime
    [Expand]DateNavigator
    [Expand]Forms
    [Expand]Gantt View
    [Expand]Initialization
    [Expand]Labels and Statuses
    [Expand]Layout
    [Expand]Menu
    [Expand]Printing and Reporting
    [Collapse]Protection
      How to: Prevent End-Users from Editing Appointments
      How to: Implement Custom Rules for Editing Appointments
      How to: Handle Appointment Conflicts
    [Expand]Range Control
    [Expand]Recurrence
    [Expand]Reminders
    [Expand]Selection
   [Expand]End-User Capabilities
   [Expand]Member Tables
  [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]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

How to: Prevent End-Users from Editing Appointments

In some real-life applications it might be necessary to prevent end-users from editing (copying, deleting, dragging, etc.) the appointments shown within the SchedulerControl. For instance, it's necessary to show all the appointments to end-users as read-only.

To do this you should access the customization settings via the SchedulerControl.OptionsCustomization property to implement end-user restrictions in your scheduling application. The following restrictions are possible in the XtraScheduler:

Restriction

Description

SchedulerOptionsCustomization.AllowAppointmentConflicts Specifies whether an end-user is allowed to share the schedule time between two or more appointments.
SchedulerOptionsCustomization.AllowAppointmentCopy Specifies whether an end-user is allowed to copy appointments.
SchedulerOptionsCustomization.AllowAppointmentCreate Specifies whether an end-user is allowed to create new appointments.
SchedulerOptionsCustomization.AllowAppointmentDelete Specifies whether an end-user is allowed to delete appointments.
SchedulerOptionsCustomization.AllowAppointmentDrag Specifies whether an end-user is allowed to drag and drop appointments to another time slot or date.
SchedulerOptionsCustomization.AllowAppointmentDragBetweenResources Specifies whether an end-user is allowed to drag and drop appointments between resources.
SchedulerOptionsCustomization.AllowAppointmentEdit Specifies whether an end-user is allowed to edit appointments.
SchedulerOptionsCustomization.AllowAppointmentMultiSelect Specifies whether an end-user is allowed to select more than one appointment simultaneously.
SchedulerOptionsCustomization.AllowAppointmentResize Specifies whether an end-user is allowed to change the time boundaries of appointments.
SchedulerOptionsCustomization.AllowInplaceEditor Specifies whether an in-place editor can be activated for an appointment.

You can set a corresponding value as required, e.g. set it ot UsedAppointmentType.None to prohibit a particular action for all appointment types, or set it to UsedAppointmentType.Recurring to allow it for recurring appointments only.

If you set one of OptionsCustomization.Allow* properties to UsedAppointmentType.Custom, a related Allow* event will fire, in which you can decide how to handle a particular case. For example, to prevent user Sam from dragging appointments, you can use the following code:

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