View3.ExecuteAction(String, Object) 方法

定义

根据视图中选择的数据,对表单的基础 XML 文档执行 Microsoft InfoPath 编辑命令。

public:
 void ExecuteAction(System::String ^ bstrAction, System::Object ^ varXmlToEdit);
public void ExecuteAction (string bstrAction, object varXmlToEdit);
abstract member ExecuteAction : string * obj -> unit
Public Sub ExecuteAction (bstrAction As String, varXmlToEdit As Object)

参数

bstrAction
String

要执行的编辑操作的名称。

varXmlToEdit
Object

要对其应用编辑操作的域或组的名称。 这等价于表单定义 (.xsf) 文件的 xmlToEdit 元素中 name 属性的值。

实现

注解

使用 ExecuteAction 方法,可以基于在视图中选择的上下文,以编程方式对表单的基础 XML 文档执行内置的 InfoPath 编辑操作。

所执行的操作与单击等效的菜单或工具栏按钮时所使用的操作相同;即 .xsf 文件中的每个按钮元素都有相应的 xmlToEditaction 属性。 与使用按钮一样,操作将基于当前所选项:操作将作用于所选的上下文(如果所选项会导致按钮被禁用,则 ExecuteAction 方法将无效)。

可以先使用 SelectNodes(IXMLDOMNode, Object, Object) 方法或 SelectText(IXMLDOMNode, Object) 方法设置选择上下文,然后调用 ExecuteAction 方法对该上下文进行操作。

在下列情况中,ExecuteAction 方法将返回错误:

  • 参数 bstrAction 不包含有效的编辑组件名称。
  • 参数 varXmlToEdit 与视图中定义的编辑组件不匹配。
  • varXmlToEdit参数是特定编辑操作所必需的。
  • 编辑操作不适用于所选的上下文。
  • 下表列出了可用于 ExecuteAction 方法的参数组合。
“复制”将所选数据复制到剪贴板。
“粘贴”将数据从剪贴板复制到插入点处。
“Cut”删除所选数据并将其复制到剪贴板。
“Delete”删除所选数据。
“xCollection::insert”, “xmlToEdit使用 xCollection 编辑组件,基于所选的上下文插入数据。 如果当前所选项位于 xCollection 的某个容器(由 .xsf 中 xCollection 的 xmlToEdit 元素指定)内,则将 fragmentToInsert 元素数据追加到该容器中。
“xCollection::insertBefore”, “xmlToEdit使用 xCollection 编辑组件,将数据插入所选上下文之前。 如果当前所选项位于 xCollection 的某项(由 .xsf 中 xCollection 的 xmlToEdit 元素指定)内,则将 fragmentToInsert 元素数据插入到该项之前。
“xCollection::insertAfter”, “xmlToEdit使用 xCollection 编辑组件,将数据插入到所选上下文之后。 如果当前所选项位于 xCollection 的某项(由 .xsf 中 xCollection 的 xmlToEdit 元素指定)内,则将 fragmentToInsert 元素数据插入到该项之后。
“xCollection::remove”, “xmlToEdit使用 xCollection 编辑组件从所选上下文中删除数据。 如果当前所选项位于 xCollection 的某项(由 .xsf 中 xCollection 的 xmlToEdit 元素指定)内,则删除该项。
“xCollection::removeAll”, “xmlToEdit使用 xCollection 编辑组件,删除所选上下文中包含的所有数据。 如果当前所选项位于 xCollection 的某个容器(由 .xsf 中 xCollection 的 xmlToEdit 元素指定)内,则该操作将删除该容器内的所有项。
“xReplace::replace”, “xmlToEdit使用 xReplace 编辑组件,替换所选上下文中的数据。 如果当前所选项位于 xReplace 的某项(由 .xsf 中 xReplace 的 xmlToEdit 元素指定)内,则使用 fragmentToInsert 元素数据替换该项。
“xOptional::insert”, “xmlToEdit使用 xOptional 编辑组件,基于所选上下文插入数据。 如果当前所选项位于 xOptional 的某个容器(由 .xsf 中 xOptional 的 xmlToEdit 元素指定)内,则将 fragmentToInsert 元素数据追加到该容器中。
“xOptional::remove”, “xmlToEdit使用 xOptional 编辑组件从所选上下文中删除数据。 如果当前所选项位于 xOptional 的某项(由 .xsf 中 xOptional 的 xmlToEdit 元素指定)内,则删除该项。

注意 在某些情况下,从 OnClick 为视图中的按钮调用 ExecuteAction 方法可能会导致错误。 这是因为单击该按钮时,所选上下文将变为按钮。 在这种情况下,最好在自定义任务窗格、工具栏或菜单上使用按钮 (或链接) 来调用 ExecuteAction 方法。

重要提示:此成员只能由与当前打开的窗体在同一域中运行的表单访问,或者由已授予跨域权限的表单访问。

适用于