DxScheduler.AppointmentUpdating Event
Fires before an updated appointment is saved to the AppointmentsSource object.
Namespace: DevExpress.Blazor
Assembly: DevExpress.Blazor.v21.2.dll
NuGet Package: DevExpress.Blazor
Declaration
[Parameter]
public EventCallback<SchedulerAppointmentOperationEventArgs> AppointmentUpdating { get; set; }
Event Data
The AppointmentUpdating event's data class is SchedulerAppointmentOperationEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
Appointment | Specifies an appointment that is modified (added, updated or removed). |
Cancel | Specifies whether the corresponding appointment operation (addition, update or removal) should be canceled. |
Remarks
To cancel an appointment update, use the event argument’s Cancel property. To access the updated appointment and change it (if needed), use the event argument’s Appointment property.
If the operation is not canceled, the updated appointment is saved to the AppointmentsSource object and the AppointmentUpdated event is raised.
The code below uses the Cancel property to restrict non-Admin users to update appointments in the DxScheduler.
<DxScheduler StartDate="@(new DateTime(2018, 10, 10))"
DataStorage="@DataStorage"
AppointmentUpdating="(e) => AppointmentUpdating(e)">
</DxScheduler>
@if (PopupVisible) {
<DxPopup HeaderText="Warning" CloseButtonClick="@(() => PopupVisible = false)">
<p>You are not allowed to update appointments in the scheduler. Please contact your system administrator for details.</p>
</DxPopup>
}
@code {
bool popupVisible = false;
bool PopupVisible { get => popupVisible; set { popupVisible = value; InvokeAsync(StateHasChanged); } }
void AppointmentUpdating(SchedulerAppointmentOperationEventArgs e) {
if (currentUser.Role != "Admin") {
e.Cancel = true;
PopupVisible = true;
}
}
}