Share via


_XDocumentEventSink2_Event.OnMergeRequest 事件

在使用 /aggregate 选项从 Microsoft InfoPath 用户界面或命令行调用合并操作时发生。

命名空间:  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

备注

如果 MergeEventObject 对象的 ReturnStatus 属性设置为 false,InfoPath 将取消合并操作。如果错误发生在 OnMergeRequest 事件的代码中,InfoPath 将忽略该错误并依赖于 ReturnStatus 属性。如果没有显式设置 ReturnStatus 属性,则使用默认值 false。

对于存储在 Windows SharePoint Services 表单库中的 InfoPath 表单,执行 OpenXMLDocuments 控件的 MergeDocuments2 方法时,也会发生 OnMergeRequest 事件。有关 OpenXMLDocuments 控件的详细信息,请参阅 Microsoft SharePoint Products and Technologies 2003 Software Development Kit。您可以从Microsoft Developer Network (MSDN) 网站 (https://msdn.microsoft.com/) 获得该软件开发工具包。

备注

在 InfoPath 表单设计窗口中没有创建该事件处理程序的用户界面 (UI)。若要将该事件处理程序添加到项目,请包含出现在示例中的 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 命名空间