Back to Devexpress

SimpleLink.DetailCount Property

wpf-devexpress-dot-xpf-dot-printing-dot-simplelink-4d4ddf8c.md

latest5.6 KB
Original Source

SimpleLink.DetailCount Property

Gets or sets the number of times the SimpleLink.CreateDetail event is raised to create the detail area.

Namespace : DevExpress.Xpf.Printing

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

NuGet Package : DevExpress.Wpf.Printing

Declaration

csharp
public int DetailCount { get; set; }
vb
Public Property DetailCount As Integer

Property Value

TypeDescription
Int32

An integer value specifying how many times the detail area should be generated.

|

Remarks

To generate a report, it is necessary to call the LinkBase.CreateDocument method for the SimpleLink object. After that, the SimpleLink.CreateDetail event is raised as many times as specified by the DetailCount property value.

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 DetailCount 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#L22

csharp
link.DetailTemplate = (DataTemplate)Resources["printDataTemplate"];
link.DetailCount = listView1.Items.Count;
link.CreateDetail += new EventHandler<CreateAreaEventArgs>(link_CreateDetail);

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

vb
link.DetailTemplate = CType(Resources("printDataTemplate"), DataTemplate)
link.DetailCount = Me.listView1.Items.Count
AddHandler link.CreateDetail, New EventHandler(Of CreateAreaEventArgs)(AddressOf link_CreateDetail)

See Also

DetailTemplate

CreateDetail

SimpleLink Class

SimpleLink Members

DevExpress.Xpf.Printing Namespace