Поделиться через


Событие _XDocumentEventSink2_Event.OnMergeRequest

Происходит, когда операция объединения вызывается из пользовательского интерфейса Microsoft Office InfoPath 2007 или из командной строки с использованием параметра /aggregate.

Пространство имен: Microsoft.Office.Interop.InfoPath.SemiTrust
Сборка: Microsoft.Office.Interop.InfoPath.SemiTrust (в microsoft.office.interop.infopath.semitrust.dll)

Синтаксис

'Декларация
Event OnMergeRequest As _XDocumentEventSink2_OnMergeRequestEventHandler
'Применение
Dim instance As _XDocumentEventSink2_Event
Dim handler As _XDocumentEventSink2_OnMergeRequestEventHandler

AddHandler instance.OnMergeRequest, handler
event _XDocumentEventSink2_OnMergeRequestEventHandler OnMergeRequest

Заметки

Если свойству ReturnStatus объекта MergeEventObject присвоено значение false, InfoPath отменяет операцию объединения. Если происходит ошибка в коде события OnMergeRequest, InfoPath игнорирует ошибку и использует свойство ReturnStatus. Если свойство ReturnStatus не задано явно, используется значение по умолчанию false.

Для форм InfoPath, хранимых в библиотеке форм Windows SharePoint Services, событие OnMergeRequest также происходит при выполнении метода MergeDocuments2 элемента управления OpenXMLDocuments. Дополнительные сведения об элементе управления OpenXMLDocuments см. в пакете средств разработки программного обеспечения для продуктов и технологий SharePoint 2003 (https://msdn.microsoft.com/library/default.asp?url=/library/en-us/spptsdk/html/SPSDKWelcome.asp), который доступен на веб-узле "Продукты и технологии Microsoft SharePoint" (https://msdn.microsoft.com/sharepoint).

ЗаметкаЗаметка

В окне конструктора InfoPath отсутствует пользовательский интерфейс для создания этого обработчика событий. Для добавления этого обработчика событий к проекту необходимо включить атрибут InfoPathEventHandler, как показано в примере.

Пример

В следующем примере обработчик события OnMergeRequest выполняет операцию объединения и задает переменные для указания состояния операции объединения:

private bool _merging = false;

[InfoPathEventHandler(EventType=InfoPathEventType.OnMergeRequest)]
public void OnMergeRequest(MergeEvent e)
{ 
 // Set global property to indicate that forms are being merged.
 if (e.Index == 0)
 {
  _merging = true;
 }

 thisXDocument.ImportDOM(e.DOM);
 e.ReturnStatus = true;
  
 if ((e.Index + 1) == e.Count)
 {
  _merging = false;
  thisXDocument.UI.Alert("Your request to merge " + e.Count + " files is now complete.");
 }
}

См. также

Ссылка

Интерфейс _XDocumentEventSink2_Event
Члены _XDocumentEventSink2_Event
Пространство имен Microsoft.Office.Interop.InfoPath.SemiTrust