SchedulerOptionsCustomization.AllowInplaceEditor Property
Gets or sets whether an inplace editor can be activated for an appointment.
Namespace: DevExpress.XtraScheduler
Assembly: DevExpress.XtraScheduler.v24.2.Core.Desktop.dll
Declaration
[DefaultValue(UsedAppointmentType.All)]
public UsedAppointmentType AllowInplaceEditor { get; set; }
Property Value
Type | Default | Description |
---|---|---|
UsedAppointmentType | All | An UsedAppointmentType enumeration value that specifies the type of appointment which the action can be applied to. |
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 AllowInplaceEditor |
---|---|---|
WinForms Controls | SchedulerControl |
|
ASP.NET Bootstrap Controls | BootstrapScheduler |
|
XAF: Cross-Platform .NET App UI & Web API | ASPxSchedulerListEditor |
|
ASP.NET MVC Extensions | SchedulerSettings |
|
ASP.NET Web Forms Controls | ASPxScheduler |
|
Remarks
By default, an inplace editor (of the text type) can be used by end-users to either create a new appointment (an inplace editor is activated after an end-user selects a time slot and starts typing in it) or edit an existing appointment’s subject (an inplace editor is activated by either a single click on the selected appointment or pressing the F2 key when it’s selected). Use the AllowInplaceEditor property to control the availability of such functionality to end-users with respect to an appointment’s type.
Note
If the AllowInplaceEditor property is set to UsedAppointmentType.Custom, then whether an inplace editor can be activated for an appointment or not is decided in the SchedulerControl.AllowInplaceEditor 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);
}