RichEditControl.MailMergeRecordStarted Event
Fires before each data record is merged with the document in the mail merge process.
Namespace: DevExpress.XtraRichEdit
Assembly: DevExpress.XtraRichEdit.v24.1.dll
NuGet Packages: DevExpress.Win.PivotGrid, DevExpress.Win.RichEdit, DevExpress.Win.TreeMap
Declaration
Event Data
The MailMergeRecordStarted event's data class is MailMergeRecordStartedEventArgs. 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 before a record is merged. |
RecordIndex | Gets 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 particular record. The following code snippet demonstrates how to insert a creation time mark for each merged record in the resulting document.
The code sample below shows how to handle the MailMergeRecordStarted
and MailMergeRecordFinished events to insert additional content to the document:
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);
}