All examples in this topic assume that the grid is bound to the Orders table of the Northwind database, unless stated otherwise.
The following example demonstrates how to use a PrintTreeGridView and configure it to display a title in the page headers and the page number in the page footers. The elements added to these sections must be added as DataTemplates and will be repeated on each page. The Print method will be called in the button's Click event, whose implementation is not provided.The following example demonstrates how to change the default text displayed in the progress window when the Print or ExportToXps methods are called. The implementation of the PrintGrid method is not provided.
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"
xmlns:local="clr-namespace:Xceed.Wpf.Documentation">
<Grid.Resources>
<xcdg:DataGridCollectionViewSource x:Key="cvs_employees"
Source="{Binding Source={x:Static Application.Current},
Path=Employees}"/>
</Grid.Resources>
<DockPanel>
<Button Content="Print Grid"
Click="PrintGrid"
DockPanel.Dock="Top"/>
<xcdg:DataGridControl x:Name="EmployeesGrid"
ItemsSource="{Binding Source={StaticResource cvs_employees}}">
<xcdg:DataGridControl.PrintView>
<xcdg:PrintTreeGridView >
<xcdg:PrintTreeGridView.PageHeaders>
<DataTemplate>
<TextBlock Text="Xceed WPF Documentation"
HorizontalAlignment="Center"
FontWeight="Bold"
FontSize="20"/>
</DataTemplate>
<DataTemplate>
<TextBlock Text="Printing Example"
HorizontalAlignment="Center"
FontSize="16"/>
</DataTemplate>
</xcdg:PrintTreeGridView.PageHeaders>
<xcdg:PrintTreeGridView.PageFooters>
<DataTemplate>
<TextBlock Text="{xcdg:ViewBinding CurrentPageNumber}"
HorizontalAlignment="Right"/>
</DataTemplate>
</xcdg:PrintTreeGridView.PageFooters>
</xcdg:PrintTreeGridView>
</xcdg:DataGridControl.PrintView>
</xcdg:DataGridControl>
</DockPanel>
</Grid>
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid">
<Grid.Resources>
<xcdg:DataGridCollectionViewSource x:Key="cvs_employees"
Source="{Binding Source={x:Static Application.Current},
Path=Employees}"/>
</Grid.Resources>
<DockPanel>
<Button Content="Print Employee Information"
Click="PrintGrid"
DockPanel.Dock="Top"/>
<xcdg:DataGridControl x:Name="EmployeesGrid"
ItemsSource="{Binding Source={StaticResource cvs_employees}}"
DockPanel.Dock="Bottom">
<xcdg:DataGridControl.PrintView>
<xcdg:PrintTreeGridView>
<xcdg:PrintTreeGridView.ProgressWindowDescription>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Printing page "/>
<TextBlock Text="{Binding CurrentPageNumber}"/>
<TextBlock Text=" of employee information..."/>
</StackPanel>
</xcdg:PrintTreeGridView.ProgressWindowDescription>
</xcdg:PrintTreeGridView>
</xcdg:DataGridControl.PrintView>
</xcdg:DataGridControl>
</DockPanel>
</Grid>
Target Platforms: Windows 11, Windows 10, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2