View3.ExecuteAction(String, Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
根据视图中选择的数据,对表单的基础 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 文件中的每个按钮元素都有相应的 xmlToEdit 和 action 属性。 与使用按钮一样,操作将基于当前所选项:操作将作用于所选的上下文(如果所选项会导致按钮被禁用,则 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 方法。
重要提示:此成员只能由与当前打开的窗体在同一域中运行的表单访问,或者由已授予跨域权限的表单访问。