Skip to main content
A newer version of this page is available. .

DxScheduler.AppointmentInserting Event

Fires before a new appointment is added to the AppointmentsSource object.

Namespace: DevExpress.Blazor

Assembly: DevExpress.Blazor.v23.1.dll

NuGet Package: DevExpress.Blazor

Declaration

[Parameter]
public EventCallback<SchedulerAppointmentOperationEventArgs> AppointmentInserting { get; set; }

Event Data

The AppointmentInserting event's data class is SchedulerAppointmentOperationEventArgs. The following properties provide information specific to this event:

Property Description
Appointment Specifies the target appointment.
Cancel Gets or sets a value indicating whether the event should be canceled. Inherited from CancelEventArgs.

Remarks

To cancel an appointment insertion, use the event argument’s Cancel property. To access the inserted appointment and modify its properties (if needed), use the event argument’s Appointment property.

If the operation is not canceled, the appointment is added to the AppointmentsSource object and the AppointmentInserted event is raised.

The code below uses the Cancel property to restrict non-Admin users to add appointments to the DxScheduler.

<DxScheduler StartDate="@(new DateTime(2018, 10, 10))"
             DataStorage="@DataStorage" 
             AppointmentInserting="(e) => AppointmentInserting(e)">
</DxScheduler>


@if (PopupVisible) {
    <DxPopup HeaderText="Warning" CloseButtonClick="@(() => PopupVisible = false)">
        <p>You are not allowed to add new appointments to 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 AppointmentInserting(SchedulerAppointmentOperationEventArgs e) {
      if (currentUser.Role != "Admin") {
          e.Cancel = true;
          PopupVisible = true;
      }
  }
}

View Example: Scheduler for Blazor - How to implement CRUD operations with a Web API Service

Run Demo: Scheduler - User Action Customization

See Also