Skip to main content

SchedulerOptionsCustomization.AllowAppointmentResize Property

Gets or sets whether a user is allowed to change the time boundaries of appointments.

Namespace: DevExpress.XtraScheduler

Assembly: DevExpress.XtraScheduler.v24.2.Core.Desktop.dll

NuGet Package: DevExpress.Scheduler.CoreDesktop

#Declaration

[DefaultValue(UsedAppointmentType.All)]
public UsedAppointmentType AllowAppointmentResize { get; set; }

#Property Value

Type Default Description
UsedAppointmentType All

A UsedAppointmentType enumeration value that specifies to which appointment’s type the action can be applied.

Available values:

Name Description
None

The action can’t be applied to any appointments.

Recurring

The action can be applied to recurring appointments only.

NonRecurring

The action can be applied to non-recurring appointments only.

All

The action can be applied to all the appointments.

Custom

The action is applied according to the custom method specified by the corresponding AllowAppointment~ or CustomAllowAppointment~ event of the SchedulerControl.

#Property Paths

You can access this nested property as listed below:

Library Object Type Path to AllowAppointmentResize
WinForms Controls SchedulerControl
.OptionsCustomization .AllowAppointmentResize
ASP.NET Bootstrap Controls BootstrapScheduler
.OptionsEditing .AllowAppointmentResize
XAF: Cross-Platform .NET App UI & Web API ASPxSchedulerListEditor
.OptionsCustomization .AllowAppointmentResize
ASP.NET MVC Extensions SchedulerSettings
.OptionsCustomization .AllowAppointmentResize
ASP.NET Web Forms Controls ASPxScheduler
.OptionsCustomization .AllowAppointmentResize

#Remarks

By default, end-users can drag the time boundaries of an appointment to change the appointment’s start or end times. Use the AllowAppointmentResize property to control the availability of such functionality to end-users with respect to an appointment’s specific type.

Note

If the AllowAppointmentResize property is set to UsedAppointmentType.Custom, then whether an end-user is allowed to change the time boundaries of appointments or not is decided in the SchedulerControl.AllowAppointmentResize event handler.

#Example

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