Back to Devexpress

SimpleLink.DetailTemplate Property

wpf-devexpress-dot-xpf-dot-printing-dot-simplelink-7e45a0eb.md

latest6.1 KB
Original Source

SimpleLink.DetailTemplate Property

Specifies the template for the document’s detail area.

Namespace : DevExpress.Xpf.Printing

Assembly : DevExpress.Xpf.Printing.v25.2.dll

NuGet Package : DevExpress.Wpf.Printing

Declaration

csharp
public DataTemplate DetailTemplate { get; set; }
vb
Public Property DetailTemplate As DataTemplate

Property Value

TypeDescription
DataTemplate

A DataTemplate object.

|

Remarks

Use the DetailTemplate property to define a data template for a document’s detail area.

You can customize other document areas via the corresponding properties provided by the TemplatedLink class.

For more information on document areas, see Printing Links.

Example

This example demonstrates how to use SimpleLink to print data from a non-hierarchical datasource.

To do this, perform the following steps.

csharp
using System;
using System.Globalization;
using System.Windows;
using DevExpress.Xpf.Printing;
// ...
string[] data;

private void button1_Click(object sender, RoutedEventArgs e) {
    // Create an array of strings.
    data = CultureInfo.CurrentCulture.DateTimeFormat.DayNames;

    // Create a link and specify a template and detail count for it.
    SimpleLink link = new SimpleLink();
    link.DetailTemplate = (DataTemplate)Resources["dayNameTemplate"];
    link.DetailCount = data.Length;

    // Create a document.
    link.CreateDetail += new EventHandler<CreateAreaEventArgs>(link_CreateDetail);

    // Show a Print Preview window.
    PrintHelper.ShowPrintPreviewDialog(this, link);
}

void link_CreateDetail(object sender, CreateAreaEventArgs e) {
    e.Data = data[e.DetailIndex];
}
vb
Imports System
Imports System.Globalization
Imports System.Windows
Imports DevExpress.Xpf.Printing
' ...
Private data() As String

Private Sub button1_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
    ' Create an array of strings.
    data = CultureInfo.CurrentCulture.DateTimeFormat.DayNames

    ' Create a link and specify a template and detail count for it.
    Dim link As New SimpleLink()
    link.DetailTemplate = DirectCast(Resources("dayNameTemplate"), DataTemplate)
    link.DetailCount = data.Length

    ' Create a document.
    AddHandler link.CreateDetail, AddressOf link_CreateDetail

    ' Show a Print Preview window.
    PrintHelper.ShowPrintPreviewDialog(Me, link)
End Sub

Private Sub link_CreateDetail(ByVal sender As Object, ByVal e As CreateAreaEventArgs)
    e.Data = data(e.DetailIndex)
End Sub

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the DetailTemplate property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

reporting-wpf-print-listview-data/CS/Window1.xaml.cs#L21

csharp
link.PageHeaderTemplate = (DataTemplate)Resources["printHeaderTemplate"];
link.DetailTemplate = (DataTemplate)Resources["printDataTemplate"];
link.DetailCount = listView1.Items.Count;

reporting-wpf-print-listview-data/VB/Window1.xaml.vb#L23

vb
link.PageHeaderTemplate = CType(Resources("printHeaderTemplate"), DataTemplate)
link.DetailTemplate = CType(Resources("printDataTemplate"), DataTemplate)
link.DetailCount = Me.listView1.Items.Count

See Also

Printing Links

SimpleLink Class

SimpleLink Members

DevExpress.Xpf.Printing Namespace