Back to Devexpress

ASPxSchedulerDataWebControlBase.CustomCallback Event

aspnet-devexpress-dot-web-dot-aspxscheduler-dot-aspxschedulerdatawebcontrolbase-20d90bb4.md

latest5.0 KB
Original Source

ASPxSchedulerDataWebControlBase.CustomCallback Event

Fires when a round trip to the server has been initiated by a call to the client ASPxClientScheduler.PerformCallback method.

Namespace : DevExpress.Web.ASPxScheduler

Assembly : DevExpress.Web.ASPxScheduler.v25.2.dll

NuGet Package : DevExpress.Web.Scheduler

Declaration

csharp
public event CallbackEventHandlerBase CustomCallback
vb
Public Event CustomCallback As CallbackEventHandlerBase

Event Data

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

PropertyDescription
ParameterGets a string that contains specific information (if any) passed from the client side.

Remarks

The CustomCallback event allows any desired server-side processing to be performed in response to a call to the client ASPxClientScheduler.PerformCallback method.

Specific information passed from the client side can be obtained by the CallbackEventArgsBase.Parameter property.

Note that the necessary actions can be additionally performed on the client side before and after callback processing by using the ASPxClientScheduler.BeginCallback and ASPxClientScheduler.EndCallback client events.

Example

The following code example illustrates how to use the ASPxSchedulerDataWebControlBase.CustomCallback event.

csharp
protected void ASPxScheduler1_CustomCallback(object sender, CallbackEventArgsBase e) {
    ASPxScheduler scheduler = sender as ASPxScheduler;
    if(e.Parameter == "ChangeCompletedStatus" && scheduler.SelectedAppointments.Count > 0) {
        Appointment currentAppt = scheduler.SelectedAppointments[0];
        currentAppt.CustomFields["LessonCompleted"] = !Convert.ToBoolean(currentAppt.CustomFields["LessonCompleted"]);
    }
}
javascript
function OnMenuItemClicked(s, e) {
    if (e.itemName == "ChangeCompletedStatus") {
        clientScheduler.PerformCallback(e.itemName);
        e.handled = true;
    }
    else if (e.itemName == "GroupByDate") {
        clientScheduler.SetGroupType("Date");
    }
    else if (e.itemName == "GroupByResource") {
        clientScheduler.SetGroupType("Resource");
    }
    else if (e.itemName == "GroupByNone") {
        clientScheduler.SetGroupType("None");
     }
}
aspx
...
<Appointments AutoRetrieveId="True" ResourceSharing="false">
    <Mappings
        AllDay="AllDay"
        AppointmentId="ID"
        Description="Description"
        End="EndTime"
        Label="Label"
        Location="Location"
        ResourceId="TeacherID"
        RecurrenceInfo="RecurrenceInfo"
        Start="StartTime"
        Status="Status"
        Subject="Subject"
        Type="EventType" />
    <CustomFieldMappings>
        <dxwschs:ASPxAppointmentCustomFieldMapping Member="Completed" Name="LessonCompleted" ValueType="Boolean" />
        <dxwschs:ASPxAppointmentCustomFieldMapping Member="CustomIsRecurring" Name="CustomRecurringFlag" ValueType="Boolean" />
        <dxwschs:ASPxAppointmentCustomFieldMapping Member="CustomRecurringID" Name="CustomRecurringID" ValueType="String" />
        <dxwschs:ASPxAppointmentCustomFieldMapping Member="CreatedBy" Name="ApptCreatedBy" ValueType="String" />
        <dxwschs:ASPxAppointmentCustomFieldMapping Member="ModifiedBy" Name="ApptModifiedBy" ValueType="String" />
        <dxwschs:ASPxAppointmentCustomFieldMapping Member="CreatedDate" Name="ApptCreatedDate" ValueType="DateTime" />
        <dxwschs:ASPxAppointmentCustomFieldMapping Member="ModifiedDate" Name="ApptModifiedDate" ValueType="DateTime" />
    </CustomFieldMappings>
</Appointments>
...

See Also

Callbacks

PerformCallback(parameter)

BeginCallback

EndCallback

ASPxSchedulerDataWebControlBase Class

ASPxSchedulerDataWebControlBase Members

DevExpress.Web.ASPxScheduler Namespace