SchedulerOptionsCustomization.AllowAppointmentDelete Property

Gets or sets whether a user is allowed to delete appointments.

Namespace: DevExpress.XtraScheduler

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

Declaration

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

Property Value

Type Default Description
UsedAppointmentType

All

A UsedAppointmentType enumeration value that specifies the types of appointment to which the action can be applied.

Property Paths

You can access this nested property as listed below:

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

Remarks

By default, end-users are allowed to delete appointments by using UI elements. Use the AllowAppointmentDelete property to control the availability of such functionality to end-users with respect to an appointment's type. For instance, if this property allows appointments of all types to be deleted (the property is set to UsedAppointmentType.All), end-users can delete an appointment either by selecting the Delete item in a popup menu invoked for the desired appointment, pressing the Delete keyboard key when the desired appointment is selected or clicking the Delete button within the appointment's Edit Appointment dialog.

NOTE

If the AllowAppointmentDelete property is set to UsedAppointmentType.Custom, then whether an end-user is allowed to delete appointments or not is decided in the SchedulerControl.AllowAppointmentDelete 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