Compartilhar via


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