A newer version of this page is available. Switch to the current version.

SchedulerOptionsCustomization.AllowAppointmentDrag Property

Gets or sets a value that specifies whether an end-user is allowed to drag and drop appointments to another time slot or date.

Namespace: DevExpress.XtraScheduler

Assembly: DevExpress.XtraScheduler.v19.1.Core.dll

Declaration

[DefaultValue(UsedAppointmentType.All)]
[XtraSerializableProperty]
public UsedAppointmentType AllowAppointmentDrag { get; set; }
<DefaultValue(UsedAppointmentType.All)>
<XtraSerializableProperty>
Public Property AllowAppointmentDrag As UsedAppointmentType

Property Value

Type Default Description
UsedAppointmentType

All

An UsedAppointmentType enumeration value that specifies the type of appointment which the action can be applied to.

Property Paths

You can access this nested property as listed below:

Show 12 property paths
Library Object Type Path to AllowAppointmentDrag
WinForms Controls SchedulerControl
.OptionsCustomization.AllowAppointmentDrag
ASP.NET Controls and MVC Extensions ASPxScheduler
.OptionsCustomization.AllowAppointmentDrag
MVCxScheduler
.OptionsCustomization.AllowAppointmentDrag
SchedulerSettings
.OptionsCustomization.AllowAppointmentDrag
ASP.NET Bootstrap Controls BootstrapScheduler
.OptionsEditing.AllowAppointmentDrag
BootstrapScheduler
.OptionsCustomization.AllowAppointmentDrag
BootstrapScheduler
.OptionsCustomization.AllowAppointmentDrag
eXpressApp Framework SchedulerListEditorBase
.OptionsCustomization.AllowAppointmentDrag
ASPxSchedulerListEditor
.OptionsCustomization.AllowAppointmentDrag
ASPxSchedulerListEditor
.OptionsCustomization.AllowAppointmentDrag
SchedulerListEditor
.OptionsCustomization.AllowAppointmentDrag
SchedulerListEditor
.OptionsCustomization.AllowAppointmentDrag

Remarks

By default, end-users are allowed to drag and drop appointments to another location (time slot or date). Use the AllowAppointmentDrag property to control the availability of such functionality to end-users with respect to an appointment's specific type.

NOTE

If the AllowAppointmentDrag property is set to UsedAppointmentType.Custom, then whether an end-user is allowed to drag and drop appointments or not is decided in the SchedulerControl.AllowAppointmentDrag event handler.

Examples

This example demonstrates how to implement custom rules for editing and deleting appointments. The code below allows an appointment to be edited only by its owner (the end-user who created it). To do this it's necessary to set the SchedulerOptionsCustomization.AllowAppointmentEdit and SchedulerOptionsCustomization.AllowAppointmentDelete properties to UsedAppointmentType.Custom, and handle the SchedulerControl.AllowAppointmentEdit and SchedulerControl.AllowAppointmentDelete events to implement custom logic for editing appointments.

using DevExpress.XtraScheduler;
// ...

private void schedulerControl1_AllowAppointmentDelete(object sender, 
    AppointmentOperationEventArgs e) {
   // Allow only the user who created this appontment to delete it.
   e.Allow = CanUserModifyThisAppointment(e.Appointment);
}
private void schedulerControl1_AllowAppointmentEdit(object sender, 
    AppointmentOperationEventArgs e) {
   // Allow only the user who created this appontment to modify it.
   e.Allow = CanUserModifyThisAppointment(e.Appointment);
}
// Determine if the current user is the same 
// as the one who created the specified appointment 
bool CanUserModifyThisAppointment(Appointment apt) {
   object obj = apt.CustomFields["Owner"];
   if (obj == null)
      return true;
   string appointmentOwner = obj.ToString();
   if (appointmentOwner == String.Empty)
      return true;
   return (String.Compare(appointmentOwner, tbUserName.Text, true) == 0);
}
See Also