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 PrintTableView 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:PrintTableView>
<xcdg:PrintTableView.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:PrintTableView.PageHeaders>
<xcdg:PrintTableView.PageFooters>
<DataTemplate>
<TextBlock Text="{xcdg:ViewBinding CurrentPageNumber}"
HorizontalAlignment="Right"/>
</DataTemplate>
</xcdg:PrintTableView.PageFooters>
</xcdg:PrintTableView>
</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:PrintTableView>
<xcdg:PrintTableView.ProgressWindowDescription>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Printing page "/>
<TextBlock Text="{Binding CurrentPageNumber}"/>
<TextBlock Text=" of employee information..."/>
</StackPanel>
</xcdg:PrintTableView.ProgressWindowDescription>
</xcdg:PrintTableView>
</xcdg:DataGridControl.PrintView>
</xcdg:DataGridControl>
</DockPanel>
</Grid>
.NET: net5.0, net5.0-windows, net6.0, net6.0-macos, net6.0-windows, net7.0, net7.0-macos, net7.0-windows, net8.0, net8.0-browser, net8.0-macos, net8.0-windows, net9.0, net9.0-browser, net9.0-macos, net9.0-windows, net10.0, net10.0-browser, net10.0-macos, net10.0-windows.
.NET Framework: net20, net35, net40, net403, net45, net451, net452, net46, net461, net462, net463, net47, net471, net472, net48, net481.