Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]General Information
[Collapse]WinForms Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Build an Application
 [Expand]Controls and Libraries
 [Expand]Common Features
  Get More Help
 [Collapse]API Reference
  [Expand]DevExpress.DataAccess.UI.Design
  [Expand]DevExpress.DataAccess.UI.EntityFramework
  [Expand]DevExpress.DataAccess.UI.Excel
  [Expand]DevExpress.DataAccess.UI.Localization
  [Expand]DevExpress.DataAccess.UI.ObjectBinding
  [Expand]DevExpress.DataAccess.UI.Sql
  [Expand]DevExpress.DataAccess.UI.Wizard
  [Expand]DevExpress.DataAccess.UI.Wizard.Services
  [Expand]DevExpress.DataAccess.UI.Wizard.Views
  [Expand]DevExpress.DocumentView
  [Expand]DevExpress.DocumentView.Controls
  [Expand]DevExpress.LookAndFeel
  [Expand]DevExpress.LookAndFeel.Helpers
  [Expand]DevExpress.Skins
  [Collapse]DevExpress.Snap
   [Expand]AfterDataSourceImportEventArgs Class
    AfterDataSourceImportEventHandler Delegate
   [Expand]BeforeConversionEventArgs Class
    BeforeConversionEventHandler Delegate
   [Expand]BeforeDataSourceExportEventArgs Class
    BeforeDataSourceExportEventHandler Delegate
   [Expand]DataSourceInfoChangedEventArgs Class
    DataSourceInfoChangedEventHandler Delegate
    DataSourceOwner Enumeration
   [Expand]DataSourceRemovedEventArgs Class
   [Expand]DocumentClosingEventArgs Class
    DocumentClosingEventHandler Delegate
   [Expand]DocumentDataSources Class
   [Expand]DocumentImportedEventArgs Class
    DocumentImportedEventHandler Delegate
   [Expand]MailMergeExportFormShowingEventArgs Class
    MailMergeExportFormShowingEventHandler Delegate
   [Expand]ReportStructureEditorFormShowingEventArgs Class
    ReportStructureEditorFormShowingEventHandler Delegate
   [Collapse]SnapControl Class
     SnapControl Members
     SnapControl Constructor
    [Expand]SnapControl Properties
    [Collapse]SnapControl Events
      ActiveRecordChanged Event
      ActiveRecordChanging Event
      AfterDataSourceImport Event
      AsynchronousOperationFinished Event
      AsynchronousOperationStarted Event
      BeforeConversion Event
      BeforeDataSourceExport Event
      BeforeLoadCustomAssembly Event
      CustomAssemblyLoading Event
      CustomizeMergeFields Event
      DataSourceChanged Event
      DocumentClosing Event
      DocumentLoaded Event
      EmptyDocumentCreated Event
      MailMergeExportFormShowing Event
      MailMergeFinished Event
      MailMergeRecordFinished Event
      MailMergeRecordStarted Event
      MailMergeStarted Event
      ReportStructureEditorFormShowing Event
      SnapMailMergeActiveRecordChanged Event
      SnapMailMergeActiveRecordChanging Event
      SnapMailMergeFinished Event
      SnapMailMergeRecordFinished Event
      SnapMailMergeRecordStarted Event
      SnapMailMergeStarted Event
      TableCellStyleFormShowing Event
      ValidateCustomSql Event
    [Expand]SnapControl Methods
   [Expand]SnapControlCompatibility Class
   [Expand]SnapControlOptions Class
   [Expand]SnapMailMergeFinishedEventArgs Class
    SnapMailMergeFinishedEventHandler Delegate
   [Expand]SnapMailMergeRecordFinishedEventArgs Class
    SnapMailMergeRecordFinishedEventHandler Delegate
   [Expand]SnapMailMergeRecordStartedEventArgs Class
    SnapMailMergeRecordStartedEventHandler Delegate
   [Expand]SnapMailMergeStartedEventArgs Class
    SnapMailMergeStartedEventHandler Delegate
   [Expand]TableCellStyleFormShowingEventArgs Class
    TableCellStyleFormShowingEventHandler Delegate
   [Expand]ValidateSqlEventArgs Class
  [Expand]DevExpress.Snap.API.Native
  [Expand]DevExpress.Snap.Core
  [Expand]DevExpress.Snap.Core.API
  [Expand]DevExpress.Snap.Core.Fields
  [Expand]DevExpress.Snap.Core.Forms
  [Expand]DevExpress.Snap.Core.Options
  [Expand]DevExpress.Snap.Core.Services
  [Expand]DevExpress.Snap.Extensions
  [Expand]DevExpress.Snap.Extensions.Localization
  [Expand]DevExpress.Snap.Localization
  [Expand]DevExpress.Snap.Options
  [Expand]DevExpress.Snap.Services
  [Expand]DevExpress.Utils
  [Expand]DevExpress.Utils.Animation
  [Expand]DevExpress.Utils.Controls
  [Expand]DevExpress.Utils.Drawing
  [Expand]DevExpress.Utils.Menu
  [Expand]DevExpress.Utils.Taskbar
  [Expand]DevExpress.Utils.Taskbar.Core
  [Expand]DevExpress.Utils.UI.Localization
  [Expand]DevExpress.Utils.VisualEffects
  [Expand]DevExpress.Utils.Win
  [Expand]DevExpress.XtraBars
  [Expand]DevExpress.XtraBars.Alerter
  [Expand]DevExpress.XtraBars.Docking
  [Expand]DevExpress.XtraBars.Docking2010
  [Expand]DevExpress.XtraBars.Docking2010.Customization
  [Expand]DevExpress.XtraBars.Docking2010.Views
  [Expand]DevExpress.XtraBars.Docking2010.Views.NativeMdi
  [Expand]DevExpress.XtraBars.Docking2010.Views.Tabbed
  [Expand]DevExpress.XtraBars.Docking2010.Views.Widget
  [Expand]DevExpress.XtraBars.Docking2010.Views.WindowsUI
  [Expand]DevExpress.XtraBars.Localization
  [Expand]DevExpress.XtraBars.Navigation
  [Expand]DevExpress.XtraBars.Ribbon
  [Expand]DevExpress.XtraBars.Ribbon.Gallery
  [Expand]DevExpress.XtraBars.Ribbon.ViewInfo
  [Expand]DevExpress.XtraBars.ToastNotifications
  [Expand]DevExpress.XtraBars.Utils
  [Expand]DevExpress.XtraBars.WinRTLiveTiles
  [Expand]DevExpress.XtraCharts
  [Expand]DevExpress.XtraCharts.Designer
  [Expand]DevExpress.XtraCharts.Wizard
  [Expand]DevExpress.XtraDataLayout
  [Expand]DevExpress.XtraDiagram
  [Expand]DevExpress.XtraDiagram.Options
  [Expand]DevExpress.XtraEditors
  [Expand]DevExpress.XtraEditors.ButtonPanel
  [Expand]DevExpress.XtraEditors.Calendar
  [Expand]DevExpress.XtraEditors.Camera
  [Expand]DevExpress.XtraEditors.Container
  [Expand]DevExpress.XtraEditors.Controls
  [Expand]DevExpress.XtraEditors.CustomEditor
  [Expand]DevExpress.XtraEditors.DXErrorProvider
  [Expand]DevExpress.XtraEditors.Filtering
  [Expand]DevExpress.XtraEditors.Mask
  [Expand]DevExpress.XtraEditors.Persistent
  [Expand]DevExpress.XtraEditors.Repository
  [Expand]DevExpress.XtraEditors.ViewInfo
  [Expand]DevExpress.XtraFilterEditor
  [Expand]DevExpress.XtraGauges.Presets.Styles
  [Expand]DevExpress.XtraGauges.Win
  [Expand]DevExpress.XtraGauges.Win.Base
  [Expand]DevExpress.XtraGauges.Win.Gauges.Circular
  [Expand]DevExpress.XtraGauges.Win.Gauges.Digital
  [Expand]DevExpress.XtraGauges.Win.Gauges.Linear
  [Expand]DevExpress.XtraGauges.Win.Gauges.State
  [Expand]DevExpress.XtraGrid
  [Expand]DevExpress.XtraGrid.Columns
  [Expand]DevExpress.XtraGrid.EditForm
  [Expand]DevExpress.XtraGrid.FilterEditor
  [Expand]DevExpress.XtraGrid.Localization
  [Expand]DevExpress.XtraGrid.Views.BandedGrid
  [Expand]DevExpress.XtraGrid.Views.BandedGrid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Base
  [Expand]DevExpress.XtraGrid.Views.Base.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Card
  [Expand]DevExpress.XtraGrid.Views.Card.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Grid
  [Expand]DevExpress.XtraGrid.Views.Grid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Layout
  [Expand]DevExpress.XtraGrid.Views.Layout.Events
  [Expand]DevExpress.XtraGrid.Views.Layout.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Printing
  [Expand]DevExpress.XtraGrid.Views.Tile
  [Expand]DevExpress.XtraGrid.Views.WinExplorer
  [Expand]DevExpress.XtraGrid.WinExplorer
  [Expand]DevExpress.XtraLayout
  [Expand]DevExpress.XtraLayout.Customization
  [Expand]DevExpress.XtraLayout.HitInfo
  [Expand]DevExpress.XtraLayout.Localization
  [Expand]DevExpress.XtraLayout.Utils
  [Expand]DevExpress.XtraMap
  [Expand]DevExpress.XtraMap.Printing
  [Expand]DevExpress.XtraNavBar
  [Expand]DevExpress.XtraNavBar.ViewInfo
  [Expand]DevExpress.XtraPdfViewer
  [Expand]DevExpress.XtraPdfViewer.Commands
  [Expand]DevExpress.XtraPdfViewer.Localization
  [Expand]DevExpress.XtraPivotGrid
  [Expand]DevExpress.XtraPivotGrid.Data
  [Expand]DevExpress.XtraPrinting
  [Expand]DevExpress.XtraPrinting.Control
  [Expand]DevExpress.XtraPrinting.Preview
  [Expand]DevExpress.XtraPrintingLinks
  [Expand]DevExpress.XtraReports.UI
  [Expand]DevExpress.XtraRichEdit
  [Expand]DevExpress.XtraRichEdit.Commands
  [Expand]DevExpress.XtraRichEdit.Export
  [Expand]DevExpress.XtraRichEdit.Import
  [Expand]DevExpress.XtraRichEdit.Localization
  [Expand]DevExpress.XtraRichEdit.Menu
  [Expand]DevExpress.XtraScheduler
  [Expand]DevExpress.XtraScheduler.Drawing
  [Expand]DevExpress.XtraScheduler.Printing
  [Expand]DevExpress.XtraScheduler.Reporting
  [Expand]DevExpress.XtraScheduler.Reporting.UI
  [Expand]DevExpress.XtraScheduler.Services
  [Expand]DevExpress.XtraScheduler.Services.Implementation
  [Expand]DevExpress.XtraScheduler.UI
  [Expand]DevExpress.XtraSpellChecker
  [Expand]DevExpress.XtraSpellChecker.Localization
  [Expand]DevExpress.XtraSplashForm
  [Expand]DevExpress.XtraSplashScreen
  [Expand]DevExpress.XtraSpreadsheet
  [Expand]DevExpress.XtraSpreadsheet.Services
  [Expand]DevExpress.XtraTab
  [Expand]DevExpress.XtraTab.Buttons
  [Expand]DevExpress.XtraTab.ViewInfo
  [Expand]DevExpress.XtraTabbedMdi
  [Expand]DevExpress.XtraToolbox
  [Expand]DevExpress.XtraTreeList
  [Expand]DevExpress.XtraTreeList.Columns
  [Expand]DevExpress.XtraTreeList.Data
  [Expand]DevExpress.XtraTreeList.Localization
  [Expand]DevExpress.XtraTreeList.Menu
  [Expand]DevExpress.XtraTreeList.Nodes
  [Expand]DevExpress.XtraTreeList.Nodes.Operations
  [Expand]DevExpress.XtraTreeList.StyleFormatConditions
  [Expand]DevExpress.XtraTreeMap
  [Expand]DevExpress.XtraVerticalGrid
  [Expand]DevExpress.XtraVerticalGrid.Events
  [Expand]DevExpress.XtraVerticalGrid.Localization
  [Expand]DevExpress.XtraVerticalGrid.Rows
  [Expand]DevExpress.XtraWaitForm
  [Expand]DevExpress.XtraWizard
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

SnapControl.SnapMailMergeRecordStarted Event

Occurs before the data field merging starts.

Namespace:DevExpress.Snap
Assembly:DevExpress.Snap.v17.1.dll

Expanded Syntax

Expanded Event Data

The event handler receives an argument of type SnapMailMergeRecordStartedEventArgs containing data related to this event.

The following SnapMailMergeRecordStartedEventArgs properties provide information specific to this event.
Property Description
Cancel Gets or sets a value indicating whether the event should be canceled.
Document Returns the document that is being merged.
RecordDocument Provides access to the document created for a single record before the fields are processed.
RecordIndex Returns the data record index.

Expanded Remarks

Handle the SnapMailMergeRecordStarted event to perform any actions before the process of field merging starts. For example, you can access and modify the data source collection of a single record document using the SnapDocument.DataSources property of the SnapDocument object accessed via the SnapMailMergeRecordStartedEventArgs.RecordDocument property. Take special note that you are unable to delete or modify the main data source being used for the mail-merge process (i.e., the data source assigned to the DataSource and DataSourceName properties of the SnapMailMergeVisualOptions object). In this case, an InvalidOperationException is thrown.

Note also that when a mail merge is performed in the user interface, the SnapMailMergeRecordStarted event can be raised asynchronously, requiring use of the SnapControl's InvokeRequired property in the event handler to determine if it is necessary to call the SnapControl.Invoke method to execute a delegate in a thread that owns the control.

Expanded Example

Show Me

A complete sample project is available in the DevExpress Code Examples database at http://www.devexpress.com/example=E5078.

This code snippet affects the SNIMAGE field bound to the Picture data field, only for the data record with index = 3. The code enlarges an image two times.

This can be accomplished by iterating over the DevExpress.XtraRichEdit.API.Native.SubDocument.Fields collection and using the ISnapFieldOwner.ParseField method to find the SnapImage object.

Another way is to perform a text search and replace in the field code range. For this, the document must display field codes (the DevExpress.XtraRichEdit.API.Native.Field.ShowCodes is true for the required field).

Expanded See Also

How would you rate this topic?​​​​​​​