Back to Devexpress

RichEditDocumentServer.MailMergeRecordStarted Event

officefileapi-devexpress-dot-xtrarichedit-dot-richeditdocumentserver-7347cba3.md

latest5.9 KB
Original Source

RichEditDocumentServer.MailMergeRecordStarted Event

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

Namespace : DevExpress.XtraRichEdit

Assembly : DevExpress.RichEdit.v25.2.Core.dll

NuGet Package : DevExpress.RichEdit.Core

Declaration

csharp
public event MailMergeRecordStartedEventHandler MailMergeRecordStarted
vb
Public Event MailMergeRecordStarted As MailMergeRecordStartedEventHandler

Event Data

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

PropertyDescription
CancelGets or sets a value indicating whether the event should be canceled. Inherited from CancelEventArgs.
DocumentGets a merged document.
MailMergeRegionInfoObtains information on the currently merged region.
RecordDocumentGets a template document before a record is merged.
RecordIndexGets an index of a record currently merged.

Remarks

The MailMergeRecordStarted event can be used to pre-process the merged section of a document that corresponds to a specified record.

Example

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

View Example: Use DOCVARIABLE Fields

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

private static void srv_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 srv_MailMergeRecordFinished(object sender, MailMergeRecordFinishedEventArgs e)
{
    e.RecordDocument.AppendDocumentContent("Docs\\bungalow.docx", DocumentFormat.Docx);
}
vb
Imports DevExpress.XtraRichEdit
Imports DevExpress.XtraRichEdit.API.Native
'...

Private Shared Sub srv_MailMergeRecordStarted(ByVal sender As Object, ByVal e As MailMergeRecordStartedEventArgs)
    Dim position As DocumentPosition = e.RecordDocument.Range.Start
    Dim _range As DocumentRange = e.RecordDocument.InsertText(position, String.Format("Created on {0:G}" & vbLf & vbLf, DateTime.Now))
    Dim cp As CharacterProperties = e.RecordDocument.BeginUpdateCharacters(_range)
    cp.FontSize = 8
    cp.ForeColor = Color.Red
    cp.Hidden = True
    e.RecordDocument.EndUpdateCharacters(cp)
End Sub

Private Shared Sub srv_MailMergeRecordFinished(ByVal sender As Object, ByVal e As MailMergeRecordFinishedEventArgs)
    e.RecordDocument.AppendDocumentContent("Docs\bungalow.docx", DocumentFormat.Docx)
End Sub

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

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.

word-document-api-use-docvariable-fields/CS/Program.cs#L33

csharp
// Handle mail-merge events
wordProcessor.MailMergeRecordStarted += wordProcessor_MailMergeRecordStarted;
wordProcessor.MailMergeRecordFinished += wordProcessor_MailMergeRecordFinished;

word-document-api-use-docvariable-fields/VB/Program.vb#L27

vb
' Handle mail-merge events
AddHandler wordProcessor.MailMergeRecordStarted, AddressOf wordProcessor_MailMergeRecordStarted
AddHandler wordProcessor.MailMergeRecordFinished, AddressOf wordProcessor_MailMergeRecordFinished

Implements

MailMergeRecordStarted

See Also

RichEditDocumentServer Class

RichEditDocumentServer Members

DevExpress.XtraRichEdit Namespace