Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

SchedulerDataStorage.PrepareAppointmentFilterColumn Event

Fires when a column, representing an appointment’s field, is added to the collection of filter columns contained within the FilterControl.

Namespace: DevExpress.XtraScheduler

Assembly: DevExpress.XtraScheduler.v24.2.dll

NuGet Package: DevExpress.Win.Scheduler

#Declaration

#Event Data

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

Property Description
Cancel Gets or sets a value indicating whether the event should be canceled. Inherited from CancelEventArgs.
FilterColumn Gets or sets a field to which a filter criteria is applied.

#Remarks

You can use the FilterControl to display only appointments that meet the specified conditions. To enable the control to filter appointments contained within the SchedulerDataStorage, the FilterControl.SourceControl property should be set to the SchedulerDataStorage.Appointments collection.

When the FilterControl begins creating a collection of columns which will be used to construct a logical expression (available via the FilterControl.FilterString property), the PrepareAppointmentFilterColumn event is raised for each added column. Handling this event enables you to substitute the column’s name with a custom text, or prepare a custom editor for specific value types. The column being added is available via the FilterColumn property of the event handler’s parameter.

The following code snippet illustrates the use of PrepareAppointmentFilterColumn event:

private void schedulerDataStorage1_PrepareAppointmentFilterColumn(object sender, 
    DevExpress.XtraScheduler.PrepareFilterColumnEventArgs e) 
{
    string fieldName = e.FilterColumn.FieldName;
    // Exclude the "AllDay" column.
    if(fieldName == "AllDay")
        e.Cancel = true;
    // Modify the caption for a column and provide a calculator control to edit values.
    if(fieldName == "CustomFieldMember") {
        e.FilterColumn.SetColumnCaption("Modified CustomFieldCaption");
        e.FilterColumn.SetColumnEditor(new 
            DevExpress.XtraEditors.Repository.RepositoryItemCalcEdit());
    }
}
See Also