[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
  Prerequisites
 [Expand]What's Installed
 [Expand].NET Core 3 Support
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Expand]Controls and Libraries
 [Expand]Scaffolding Wizard
 [Expand]Localization
  Redistribution and Deployment
  Get More Help
 [Collapse]API Reference
  [Expand]DevExpress.Charts.Designer
  [Expand]DevExpress.Data
  [Expand]DevExpress.Mvvm.UI
  [Expand]DevExpress.Mvvm.UI.Interactivity
  [Expand]DevExpress.Mvvm.UI.ModuleInjection
  [Expand]DevExpress.Xpf.Accordion
  [Expand]DevExpress.Xpf.Bars
  [Expand]DevExpress.Xpf.Carousel
  [Expand]DevExpress.Xpf.Charts
  [Expand]DevExpress.Xpf.Charts.Localization
  [Expand]DevExpress.Xpf.Charts.RangeControlClient
  [Expand]DevExpress.Xpf.ChunkList
  [Expand]DevExpress.Xpf.Controls
  [Expand]DevExpress.Xpf.Core
  [Expand]DevExpress.Xpf.Core.ConditionalFormatting
  [Expand]DevExpress.Xpf.Core.DataSources
  [Expand]DevExpress.Xpf.Core.FilteringUI
  [Expand]DevExpress.Xpf.Core.Native
  [Expand]DevExpress.Xpf.Core.ServerMode
  [Expand]DevExpress.Xpf.Data
  [Expand]DevExpress.Xpf.DataAccess
  [Expand]DevExpress.Xpf.DataAccess.DataSourceWizard
  [Expand]DevExpress.Xpf.Diagram
  [Expand]DevExpress.Xpf.Dialogs
  [Expand]DevExpress.Xpf.Docking
  [Expand]DevExpress.Xpf.Docking.Base
  [Expand]DevExpress.Xpf.DocumentViewer
  [Expand]DevExpress.Xpf.DXBinding
  [Expand]DevExpress.Xpf.Editors
  [Expand]DevExpress.Xpf.Editors.DataPager
  [Expand]DevExpress.Xpf.Editors.DateNavigator
  [Expand]DevExpress.Xpf.Editors.ExpressionEditor
  [Expand]DevExpress.Xpf.Editors.ExpressionEditor.Native
  [Expand]DevExpress.Xpf.Editors.Filtering
  [Expand]DevExpress.Xpf.Editors.Flyout
  [Expand]DevExpress.Xpf.Editors.Flyout.Native
  [Expand]DevExpress.Xpf.Editors.Helpers
  [Expand]DevExpress.Xpf.Editors.Native
  [Expand]DevExpress.Xpf.Editors.Popups
  [Expand]DevExpress.Xpf.Editors.RangeControl
  [Expand]DevExpress.Xpf.Editors.Settings
  [Expand]DevExpress.Xpf.Editors.Validation
  [Expand]DevExpress.Xpf.ExpressionEditor
  [Expand]DevExpress.Xpf.Gantt
  [Expand]DevExpress.Xpf.Gauges
  [Expand]DevExpress.Xpf.Gauges.Localization
  [Expand]DevExpress.Xpf.Grid
  [Expand]DevExpress.Xpf.Grid.ConditionalFormatting
  [Expand]DevExpress.Xpf.Grid.LookUp
  [Expand]DevExpress.Xpf.Grid.TreeList
  [Expand]DevExpress.Xpf.Layout.Core
  [Expand]DevExpress.Xpf.LayoutControl
  [Expand]DevExpress.Xpf.Map
  [Expand]DevExpress.Xpf.NavBar
  [Expand]DevExpress.Xpf.Navigation
  [Expand]DevExpress.Xpf.PdfViewer
  [Expand]DevExpress.Xpf.PivotGrid
  [Expand]DevExpress.Xpf.PivotGrid.Printing
  [Expand]DevExpress.Xpf.Printing
  [Expand]DevExpress.Xpf.Printing.Parameters
  [Expand]DevExpress.Xpf.Printing.Parameters.Models
  [Expand]DevExpress.Xpf.Printing.PreviewControl
  [Expand]DevExpress.Xpf.Printing.PreviewControl.Bars
  [Expand]DevExpress.Xpf.Prism
  [Expand]DevExpress.Xpf.PropertyGrid
  [Expand]DevExpress.Xpf.Reports.UserDesigner
  [Expand]DevExpress.Xpf.Reports.UserDesigner.Extensions
  [Expand]DevExpress.Xpf.Reports.UserDesigner.Localization
  [Expand]DevExpress.Xpf.Reports.UserDesigner.ReportWizard
  [Expand]DevExpress.Xpf.Reports.UserDesigner.ReportWizard.Pages
  [Expand]DevExpress.Xpf.Ribbon
  [Expand]DevExpress.Xpf.RichEdit
  [Expand]DevExpress.Xpf.RichEdit.Menu
  [Collapse]DevExpress.Xpf.Scheduler
   [Expand]ActiveViewChangingEventArgs Class
    ActiveViewChangingEventHandler Delegate
    AppointmentFormEventHandler Delegate
   [Expand]AppointmentLabel Class
   [Expand]AppointmentLabelCollection Class
   [Expand]AppointmentMapping Class
   [Expand]AppointmentStatus Class
   [Expand]AppointmentStatusCollection Class
   [Expand]AppointmentStorage Class
   [Expand]AppointmentViewInfoCustomizingEventArgs Class
    AppointmentViewInfoCustomizingEventHandler Delegate
   [Expand]CustomizeTimeRulerFormEventArgs Class
    CustomizeTimeRulerFormEventHandler Delegate
   [Expand]CustomizeVisualViewInfoEventArgs Class
    CustomizeVisualViewInfoEventHandler Delegate
   [Expand]DayView Class
   [Expand]DeleteRecurrentAppointmentFormEventArgs Class
    DeleteRecurrentAppointmentFormEventHandler Delegate
   [Expand]EditAppointmentFormEventArgs Class
    EditRecurrentAppointmentFormEventHandler Delegate
   [Expand]FormShowingEventArgs Class
   [Expand]FullWeekView Class
   [Expand]GotoDateFormEventArgs Class
    GotoDateFormEventHandler Delegate
   [Expand]IAppointmentStorage Interface
   [Expand]InplaceEditorEventArgs Class
    InplaceEditorEventHandler Delegate
   [Expand]ISchedulerStorage Interface
   [Expand]MonthView Class
   [Expand]MoreButtonClickedRoutedEventArgs Class
    MoreButtonClickedRoutedEventHandler Delegate
   [Expand]NavigationButtonOptions Class
   [Expand]OptionsBehavior Class
   [Expand]OptionsCustomization Class
   [Expand]OptionsView Class
   [Expand]RecurrenceFormEventArgs Class
    RecurrenceFormEventHandler Delegate
   [Expand]RemindersFormEventArgs Class
    RemindersFormEventHandler Delegate
   [Expand]ResourceMapping Class
   [Expand]ResourceStorage Class
   [Expand]ScaleBasedRangeControlClientOptions Class
   [Expand]SchedulerAppointmentDisplayOptions Class
   [Expand]SchedulerColorSchema Class
   [Expand]SchedulerColorSchemaCollection Class
   [Expand]SchedulerControl Class
   [Expand]SchedulerControlLocalizer Class
    SchedulerControlStringId Enumeration
   [Expand]SchedulerDayViewAppointmentDisplayOptions Class
   [Expand]SchedulerDeferredScrollingOption Class
   [Expand]SchedulerElement Class
   [Expand]SchedulerMenuEventArgs Class
    SchedulerMenuEventHandler Delegate
   [Expand]SchedulerMonthViewAppointmentDisplayOptions Class
   [Expand]SchedulerOptionsBase<T> Class
   [Expand]SchedulerOptionsBehavior Class
   [Expand]SchedulerOptionsRangeControl Class
   [Expand]SchedulerOptionsView Class
   [Expand]SchedulerRangeControlClient Class
   [Expand]SchedulerSelectionBarOptions Class
   [Collapse]SchedulerStorage Class
     SchedulerStorage Members
     SchedulerStorage Constructor
    [Expand]SchedulerStorage Properties
    [Collapse]SchedulerStorage Events
      AppointmentChanging Event
      AppointmentCollectionAutoReloading Event
      AppointmentCollectionCleared Event
      AppointmentCollectionLoaded Event
      AppointmentDeleting Event
      AppointmentDependenciesChanged Event
      AppointmentDependenciesDeleted Event
      AppointmentDependenciesInserted Event
      AppointmentDependencyChanging Event
      AppointmentDependencyCollectionAutoReloading Event
      AppointmentDependencyCollectionCleared Event
      AppointmentDependencyCollectionLoaded Event
      AppointmentDependencyDeleting Event
      AppointmentDependencyInserting Event
      AppointmentInserting Event
      AppointmentsChanged Event
      AppointmentsDeleted Event
      AppointmentsInserted Event
      DependencyChanging Event
      FetchAppointments Event
      FilterAppointment Event
      FilterDependency Event
      FilterReminderAlert Event
      FilterResource Event
      ReminderAlert Event
      ResourceChanging Event
      ResourceCollectionAutoReloading Event
      ResourceCollectionCleared Event
      ResourceCollectionLoaded Event
      ResourceDeleting Event
      ResourceInserting Event
      ResourcesChanged Event
      ResourcesDeleted Event
      ResourcesInserted Event
    [Expand]SchedulerStorage Methods
   [Expand]SchedulerTimeIndicatorDisplayOptions Class
   [Expand]SchedulerTimelineViewAppointmentDisplayOptions Class
   [Expand]SchedulerTimeRuler Class
   [Expand]SchedulerTimeRulerCollection Class
   [Expand]SchedulerViewBase Class
   [Expand]SchedulerViewRepository Class
   [Expand]SchedulerWeekViewAppointmentDisplayOptions Class
   [Expand]TimelineView Class
   [Expand]WeekView Class
   [Expand]WeekViewBase Class
   [Expand]WorkWeekView Class
  [Expand]DevExpress.Xpf.Scheduler.Drawing
  [Expand]DevExpress.Xpf.Scheduler.Menu
  [Expand]DevExpress.Xpf.Scheduler.Reporting
  [Expand]DevExpress.Xpf.Scheduler.UI
  [Expand]DevExpress.Xpf.Scheduling
  [Expand]DevExpress.Xpf.Scheduling.Common
  [Expand]DevExpress.Xpf.Scheduling.Editors
  [Expand]DevExpress.Xpf.Scheduling.iCalendar
  [Expand]DevExpress.Xpf.Scheduling.Reporting
  [Expand]DevExpress.Xpf.Scheduling.Visual
  [Expand]DevExpress.Xpf.Scheduling.VisualData
  [Expand]DevExpress.Xpf.SpellChecker
  [Expand]DevExpress.Xpf.Spreadsheet
  [Expand]DevExpress.Xpf.Spreadsheet.Menu
  [Expand]DevExpress.Xpf.TreeMap
  [Expand]DevExpress.Xpf.Utils.Themes
  [Expand]DevExpress.Xpf.WindowsUI
  [Expand]DevExpress.Xpf.WindowsUI.Internal
  [Expand]DevExpress.Xpf.WindowsUI.Navigation
  [Expand]DevExpress.XtraRichEdit
  [Expand]DevExpress.XtraRichEdit.Printing
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

SchedulerStorage.FetchAppointments Event

Occurs before the SchedulerStorage starts retrieving the appointments for the specified time interval.

Namespace:DevExpress.Xpf.Scheduler
Assembly:DevExpress.Xpf.Scheduler.v19.2.dll

Expanded Syntax

Expanded Event Data

The event handler receives an argument of type FetchAppointmentsEventArgs containing data related to this event.

Expanded Remarks

Important

You are viewing documentation for the legacy WPF Scheduler control. If you're starting a new project, we strongly recommend that you use a new control declared in the DevExpress.Xpf.Scheduling namespace. If you decide to upgrade an existing project in order to switch to the updated scheduler control, see the Migration Guidelines document.

Handle the FetchAppointments event to limit the number of appointments fetched from the data source. This can be useful when working with large amounts of data, and only a small part of it needs to be loaded at one time.

The FetchAppointments event reduces the amount of data fetched from slow data sources with large data sets. Consider the interaction between the Scheduler, the Storage and the Data Source. When the Scheduler changes its displayed time interval, it requests appointments to display from the Storage. The Storage generates the FetchAppointments event and queries the Data Source for more data. This query may result in sending an excessive amount of appointment data. To prevent this, and to get only the data required for the visible time interval, you can handle the FetchAppointment event. In the event handler, you should modify the query to get only the data that required.

If the FetchAppointments event is handled, the Scheduler does not rely on its own, built-in caching strategy. The FetchAppointments event occurs in situations which do not involve any changes in displayed data, such as control resizing. To improve performance, treat these cases as your needs dictate and decide for yourself whether to query the data source for appointment data again or leave the Storage data intact.

Note

Do not clear and populate AppointmentStorage collection items within the FetchAppointments event handler, because this event was specially created to minimize the loading time in databound mode by loading only visible appointments. It occurs before the SchedulerStorage starts to retrieve the appointments for the specified time interval, and allows you to modify the data source using the e.Interval property value as a query parameter. If appointments are generated within FetchAppointments event handler, you may fail to retrieve custom fields when appointments are being displayed because appointment data is disposed. That is, it's not suitable for unbound mode.

See the FetchAppointments Event - Handling Large Datasets document for more information.

Expanded See Also

Is this topic helpful?​​​​​​​