DevExpress v24.1 Update — Your Feedback Matters
Our What's New in v24.1 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.
Take the survey
Not interested
CompositeLink Class
A composite link that can be used to combine several Printing Links together into a composite document.
Namespace : DevExpress.Xpf.Printing
Assembly :
DevExpress.Xpf.Printing.v24.1.dll
NuGet Package :
DevExpress.Wpf.Printing
# Declaration
This code example demonstrates how to use the CompositeLink
class to combine contents of several printing links in a single document.
View Example
Imports System.Collections.Generic
Imports System.Windows
Imports System.Windows.Documents
Imports DevExpress.Xpf.Grid
Imports DevExpress.Xpf.Printing
Namespace CompositeLinkExample
Partial Public Class MainWindow
Inherits Window
Public Sub New ()
InitializeComponent()
End Sub
Private Sub printButton_Click(ByVal sender As Object , ByVal e As RoutedEventArgs)
Dim links As New List(Of TemplatedLink)()
links.Add(New PrintableControlLink(CType (categoriesGrid.View, TableView)))
links.Add(New PrintableControlLink(CType (productsGrid.View, TableView)))
Dim compositeLink As New CompositeLink(links)
PrintHelper.ShowRibbonPrintPreview(Me , compositeLink)
End Sub
End Class
End Namespace
<Window x:Class ="CompositeLinkExample.MainWindow"
xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml"
Title ="MainWindow" Height ="477" Width ="908" xmlns:dxg ="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dx ="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:my ="clr-namespace:CompositeLinkExample.nwindDataSetTableAdapters" xmlns:my1 ="clr-namespace:CompositeLinkExample" >
<Window.Resources >
<dx:TypedSimpleSource x:Key ="TypedSimpleSource" AdapterType ="my:CategoriesTableAdapter" ContextType ="my1:nwindDataSet" Path ="Categories" >
<dx:DesignDataManager.DesignData >
<dx:DesignDataSettings RowCount ="5" />
</dx:DesignDataManager.DesignData >
</dx:TypedSimpleSource >
<dx:TypedSimpleSource x:Key ="TypedSimpleSource1" AdapterType ="my:ProductsTableAdapter" ContextType ="my1:nwindDataSet" Path ="Products" >
<dx:DesignDataManager.DesignData >
<dx:DesignDataSettings RowCount ="5" />
</dx:DesignDataManager.DesignData >
</dx:TypedSimpleSource >
</Window.Resources >
<Grid >
<dxg:GridControl AutoGenerateColumns ="AddNew" EnableSmartColumnsGeneration ="True" HorizontalAlignment ="Left" Name ="categoriesGrid" VerticalAlignment ="Top" Height ="188" Width ="886" ItemsSource ="{Binding Path=Data, Source={StaticResource TypedSimpleSource}}" >
<dxg:GridControl.View >
<dxg:TableView AllowPerPixelScrolling ="True" Name ="tableView1" />
</dxg:GridControl.View >
</dxg:GridControl >
<dxg:GridControl AutoGenerateColumns ="AddNew" EnableSmartColumnsGeneration ="True" Height ="208" HorizontalAlignment ="Left" Margin ="0,186,0,0" Name ="productsGrid" VerticalAlignment ="Top" Width ="886" ItemsSource ="{Binding Path=Data, Source={StaticResource TypedSimpleSource1}}" >
<dxg:GridControl.View >
<dxg:TableView AllowPerPixelScrolling ="True" Name ="tableView2" />
</dxg:GridControl.View >
</dxg:GridControl >
<Button Content ="Button" Height ="23" HorizontalAlignment ="Left" Margin ="762,403,0,0" Name ="printButton" VerticalAlignment ="Top" Width ="112" Click ="printButton_Click" />
</Grid >
</Window >
using System.Collections.Generic ;
using System.Windows ;
using System.Windows.Documents ;
using DevExpress.Xpf.Grid ;
using DevExpress.Xpf.Printing ;
namespace CompositeLinkExample {
public partial class MainWindow : Window {
public MainWindow ( ) {
InitializeComponent();
}
private void printButton_Click (object sender, RoutedEventArgs e ) {
List<TemplatedLink> links = new List<TemplatedLink>();
links.Add(new PrintableControlLink((TableView)categoriesGrid.View));
links.Add(new PrintableControlLink((TableView)productsGrid.View));
CompositeLink compositeLink = new CompositeLink(links);
PrintHelper.ShowRibbonPrintPreview(this , compositeLink);
}
}
}
The image below demonstrates the result.
See Also