Skip to main content

RichEditControl.MailMergeRecordFinished Event

Fires after each data record is merged with the document in the mail merge process.

Namespace: DevExpress.Xpf.RichEdit

Assembly: DevExpress.Xpf.RichEdit.v22.1.dll

NuGet Package: DevExpress.Wpf.RichEdit

Declaration

public event MailMergeRecordFinishedEventHandler MailMergeRecordFinished

Event Data

The MailMergeRecordFinished event's data class is MailMergeRecordFinishedEventArgs. The following properties provide information specific to this event:

Property Description
Cancel Gets or sets a value indicating whether the event should be canceled. Inherited from CancelEventArgs.
Document Gets a merged document.
RecordDocument Gets a template document after a record is merged.
RecordIndex Gets an index of a record currently merged.

Remarks

The MailMergeRecordFinished event can be used to post-process the merged section of a document that corresponds to a particular record.

Example

The code sample below shows how to handle the MailMergeRecordStarted and MailMergeRecordFinished events to insert additional content to the document:

View Example: DXRichEdit for WPF: How to use document variable (DOCVARIABLE) fields

using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;
//...

private static void RichEditControl_MailMergeRecordStarted(object sender, MailMergeRecordStartedEventArgs e)
{
    DocumentPosition position = e.RecordDocument.Range.Start;
    DocumentRange _range =
        e.RecordDocument.InsertText(position, String.Format("Created on {0:G}\n\n", DateTime.Now));
    CharacterProperties cp = e.RecordDocument.BeginUpdateCharacters(_range);
    cp.FontSize = 8;
    cp.ForeColor = Color.Red;
    cp.Hidden = true;
    e.RecordDocument.EndUpdateCharacters(cp);
}

private static void RichEditControl_MailMergeRecordFinished(object sender, MailMergeRecordFinishedEventArgs e)
{
    e.RecordDocument.AppendDocumentContent("Docs\\bungalow.docx", DocumentFormat.OpenXml);
}
See Also