Skip to main content

SmartSync Feature

  • 2 minutes to read

Note

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.

This document introduces the SmartSync feature. It allows date-time and resource iterations to be synchronized when printing a report. In this case, the report control having the minimal period becomes the principal data control. It starts the iteration, and dependent controls are not modified on a page while the time value of the current iteration falls within their display periods. A dependent control jumps to the next period when the time displayed by the principal data control goes beyond the interval displayed by the dependent control.

Different tri-fold reports can be constructed, as illustrated below.

You can construct a report of the standard tri-fold style, with lined space for notes in the center (use the ready-made TrifoldStandard.schrepx report template, that is, by default, located in C:\Users\Public\Documents\DevExpress Demos 24.2\Components\Data\SchedulerReportTemplates).

DXScheduler_TriFoldReport

Another variation is a resource report, integrating Day, Week and Month views (to create a report of this type, use the ready-made TrifoldResource.schrepx report template, that is by default located in C:\Users\Public\Documents\DevExpress Demos 24.2\Components\Data\SchedulerReportTemplates)

DXScheduler_TriFoldResourceReport

To enable synchronization required for tri-fold reports, set the DXSchedulerPrintAdapter.EnableSmartSync property to true and specify DXSchedulerPrintAdapter.SmartSyncOptions as required. The last picture illustrates the report with the enabled DXSchedulerPrintAdapter.EnableSmartSync option and the ISmartSyncOptions.GroupType property set to SchedulerGroupType.Resource. This report will be printed in the following order:

  • first resource, first day of the report interval (DXSchedulerPrintAdapter.TimeInterval), a week containing this day, a month containing this day
  • first resource, second day of the report interval, a week containing this day, a month containing this day
  • (…)
  • first resource, last day of the report interval, a week containing this day, a month containing this day
  • second resource, first day of the report interval, a week containing this day, a month containing this day
  • (…)
  • last resource, last day of the report interval, a week containing this day, a month containing this day
See Also