Skip to main content

DXSchedulerPrintAdapter.EnableSmartSync Property

Gets or sets whether different controls in a report should synchronize their data iterations (the SmartSync Printing feature).

Namespace: DevExpress.Xpf.Scheduler.Reporting

Assembly: DevExpress.Xpf.Scheduler.v24.1.dll

NuGet Package: DevExpress.Wpf.Scheduler

Declaration

public bool EnableSmartSync { get; set; }

Property Value

Type Description
Boolean

true to enable the SmartSync Printing feature; otherwise, false.

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.

If several report controls are placed on the same scheduler report, the scheduler print adapter of this report can coordinate how controls iterate through data. A 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.

The picture below illustrates a tri-fold report containing the DayViewTimeCells, FullWeek and HorizontalWeek controls on one page. The EnableSmartSync is turned on and the ISmartSyncOptions.GroupType property (an instance of the class implementing the ISmartSyncOptions interface is accessed via DXSchedulerPrintAdapter.SmartSyncOptions) is set to SchedulerGroupType.Resource.

DXScheduler_SmartSync

The report is 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

Example

This example demonstrates how to enable the SmartSync feature for scheduler tri-fold reports (for example, the TrifoldResource.schrepx report that is, by default, placed in C:\Users\Public\Documents\DevExpress Demos 24.1\Components\Data\SchedulerReportTemplates\). Use the DXSchedulerPrintAdapter.EnableSmartSync and DXSchedulerPrintAdapter.SmartSyncOptions properties.

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:dxsch="http://schemas.devexpress.com/winfx/2008/xaml/scheduler"
        Title="MainWindow" Height="491" Width="691" >
    <Grid>
        <!-- ... -->
        <dxsch:SchedulerControl x:Name="scheduler" >
            <!-- ... -->
        </dxsch:SchedulerControl>
        <dxsch:DXSchedulerControlPrintAdapter x:Name="printAdapter" 
                                              SchedulerControl="{Binding ElementName=scheduler}"
                                              EnableSmartSync="True">
            <dxsch:DXSchedulerControlPrintAdapter.SmartSyncOptions>
                <dxsch:SchedulerSmartSyncOptions GroupType="Resource"/>
            </dxsch:DXSchedulerControlPrintAdapter.SmartSyncOptions>
        </dxsch:DXSchedulerControlPrintAdapter>
    </Grid>
</Window>
See Also