View.ExecuteAction(String, Object) Método

Definição

Executa um comando de edição do Microsoft InfoPath no documento XML subjacente de um formulário, com base nos dados selecionados no modo de exibição.

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)

Parâmetros

bstrAction
String

O nome da ação de edição a ser executada.

varXmlToEdit
Object

O nome do campo ou grupo ao qual aplicar a ação de edição. Isso é equivalente ao valor do atributo name no elemento xmlToEdit do arquivo de definição de formulário (.xsf).

Exemplos

No exemplo a seguir, o método ExecuteAction do ViewObject objeto é usado para excluir dados selecionados e colocá-los na área de transferência:

thisXDocument.View.<span class="label">ExecuteAction</span>("Cut", Type.Missing);

No exemplo a seguir, o método ExecuteAction do ViewObject objeto é usado para inserir dados usando o componente de edição xCollection, com base no contexto selecionado:

thisXDocument.View.<span class="label">ExecuteAction</span>("xCollection::insert", "group1_1");

Comentários

O método ExecuteAction é usado para executar programaticamente ações internas de edição do InfoPath em relação ao documento XML subjacente de um formulário, com base no contexto selecionado em um modo de exibição.

A ação executada será a mesma ação que seria usada ao clicar em um menu ou botão de barra de ferramentas equivalente; ou seja, um para o qual o elemento de botão no arquivo .xsf tem atributos xmlToEdit e de ação correspondentes. Assim como acontece com o uso de um botão, a ação será baseada na seleção atual: ela atuará no contexto selecionado (e, no caso em que a seleção levaria o botão a ser desabilitado, o método ExecuteAction não terá efeito).

É possível primeiro definir o contexto de seleção usando o método ou SelectText(IXMLDOMNode, Object) método SelectNodes(IXMLDOMNode, Object, Object) e, em seguida, chamar o método ExecuteAction para agir nesse contexto.

O método ExecuteAction retornará um erro pelos seguintes motivos:

  • O bstrAction parâmetro não contém um nome de componente de edição válido.
  • O varXmlToEdit parâmetro não corresponde a um componente de edição definido na exibição.
  • O varXmlToEdit parâmetro é necessário para uma ação de edição específica.
  • A ação de edição não é aplicável ao contexto selecionado.
  • A seguir está uma tabela de combinações de parâmetros que pode ser usada com o método ExecuteAction .
"Copiar"Copia os dados selecionados para a área de transferência.
"Colar"Copia dados da área de transferência para o ponto de inserção.
"Cut"Remove os dados selecionados e copia-os para a área de transferência.
"Excluir"Exclui os dados selecionados.
"xCollection::insert", "xmlToEdit"Insere dados com base no contexto selecionado usando o componente de edição xCollection. Se a seleção atual estiver dentro de um contêiner do xCollection, especificado pelo elemento xmlToEdit no .xsf, os dados do elemento fragmentToInsert serão acrescentados nesse contêiner.
"xCollection::insertBefore", "xmlToEdit"Insere dados antes do contexto selecionado usando o componente de edição xCollection. Se a seleção atual estiver dentro de um item do xCollection, conforme especificado pelo elemento xmlToEdit no .xsf, os dados do elemento fragmentToInsert serão inseridos antes desse item.
"xCollection::insertAfter", "xmlToEdit"Insere dados após o contexto selecionado usando o componente de edição xCollection. Se a seleção atual estiver dentro de um item do xCollection, conforme especificado pelo elemento xmlToEdit no .xsf, os dados do elemento fragmentToInsert serão inseridos após esse item.
"xCollection::remove", "xmlToEdit"Exclui dados do contexto selecionado usando o componente de edição xCollection. Se a seleção atual estiver dentro de um item do xCollection, conforme especificado pelo elemento xmlToEdit no .xsf, esse item será excluído.
"xCollection::removeAll", "xmlToEdit"Exclui todos os dados contidos no contexto selecionado usando o componente de edição xCollection. Se a seleção atual estiver dentro de um contêiner do xCollection, conforme especificado pelo elemento xmlToEdit no .xsf, essa ação excluirá todos os itens dentro desse contêiner.
"xReplace::replace", "xmlToEdit"Substitui os dados no contexto selecionado usando o componente de edição xReplace . Se a seleção atual estiver dentro de um item do xReplace, conforme especificado pelo elemento xmlToEdit no .xsf, esse item será substituído pelos dados do elemento fragmentToInsert .
"xOptional::insert", "xmlToEdit"Insere dados com base no contexto selecionado usando o componente de edição xOptional. Se a seleção atual estiver dentro de um contêiner do xOptional, conforme especificado pelo elemento xmlToEdit no .xsf, os dados do elemento fragmentToInsert serão acrescentados nesse contêiner.
"xOptional::remove", "xmlToEdit"Exclui dados do contexto selecionado usando o componente de edição xOptional. Se a seleção atual estiver dentro de um item do xOptional, conforme especificado pelo elemento xmlToEdit no .xsf, esse item será excluído.

Observação Em alguns casos, chamar o método ExecuteAction do OnClick para um botão em um modo de exibição pode causar um erro. Isso ocorre porque o contexto selecionado muda para o botão quando o botão é clicado. Nesse caso, é melhor usar um botão (ou link) em um painel de tarefas, barra de ferramentas ou menu personalizado para chamar o método ExecuteAction .

Importante: esse membro só pode ser acessado por formulários em execução no mesmo domínio que o formulário aberto atualmente ou por formulários que receberam permissões entre domínios.

Aplica-se a