SchedulerOptionsCustomization.AllowAppointmentDragBetweenResources Property
Gets or sets a value that specifies whether an end-user is allowed to drag and drop appointments between resources.
Namespace: DevExpress.XtraScheduler
Assembly: DevExpress.XtraScheduler.v18.2.Core.dll
Declaration
[DefaultValue(UsedAppointmentType.All)]
[XtraSerializableProperty]
public UsedAppointmentType AllowAppointmentDragBetweenResources { get; set; }
<DefaultValue(UsedAppointmentType.All)>
<XtraSerializableProperty>
Public Property AllowAppointmentDragBetweenResources As UsedAppointmentType
Property Value
Type | Default | Description |
---|---|---|
UsedAppointmentType | All |
An UsedAppointmentType enumeration value that specifies the type of appointment that the action can be applied to. |
Property Paths
You can access this nested property as listed below:
Library | Object Type | Path to AllowAppointmentDragBetweenResources |
---|---|---|
WinForms Controls | SchedulerControl |
|
ASP.NET Controls and MVC Extensions | ASPxScheduler |
|
MVCxScheduler |
|
|
SchedulerSettings |
|
|
ASP.NET Bootstrap Controls | BootstrapScheduler |
|
BootstrapScheduler |
|
|
BootstrapScheduler |
|
|
eXpressApp Framework | SchedulerListEditorBase |
|
ASPxSchedulerListEditor |
|
|
ASPxSchedulerListEditor |
|
|
SchedulerListEditor |
|
|
SchedulerListEditor |
|
Remarks
By default, end-users are allowed to drag and drop appointments between the resources currently visible in the scheduling area (if more than one resource is displayed). Use the AllowAppointmentDragBetweenResources property to control the availability of such functionality to end-users with respect to an appointment's specific type.
NOTE
If the AllowAppointmentDragBetweenResources property is set to UsedAppointmentType.Custom, then whether an end-user is allowed to drag and drop appointments between resources or not is decided in the SchedulerControl.AllowAppointmentDragBetweenResources 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);
}