View.ExecuteAction(String, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет команду редактирования Microsoft Office InfoPath 2003 для базового XML-документа формы на основе данных, выбранных в представлении.
public void ExecuteAction (string bstrAction, object varXmlToEdit);
abstract member ExecuteAction : string * obj -> unit
Public Sub ExecuteAction (bstrAction As String, Optional varXmlToEdit As Object)
Параметры
- bstrAction
- String
Имя выполняемого действия редактирования.
- varXmlToEdit
- Object
Имя поля или группы, к которым применяется действие редактирования. Это эквивалентно значению атрибута имени в элементе xmlToEdit файла определения формы (XSF).
Примеры
В следующем примере метод ViewObjectExecuteAction объекта используется для удаления выбранных данных и их размещения в буфере обмена:
thisXDocument.View.<span class="label">ExecuteAction</span>("Cut", Type.Missing);
В следующем примере метод ViewObjectExecuteAction объекта используется для вставки данных с помощью компонента редактирования xCollection на основе выбранного контекста:
thisXDocument.View.<span class="label">ExecuteAction</span>("xCollection::insert", "group1_1");
Комментарии
Метод ExecuteAction служит для программного выполнения встроенных действий редактирования InfoPath для базового XML-документа формы на основе выбранного в представлении контекста.
Выполняемое действие соответствует действию при выборе эквивалентного меню или кнопки в панели инструментов; то есть элемент кнопки в файле XSF имеет соответствующие этому действию атрибуты xmlToEdit и action. Как и с использованием кнопки, действие будет основано на текущем выборе: оно применяется к выбранному контексту (и в случае, когда выбор приводит к отключению кнопки, метод ExecuteAction не действует).
Можно сначала задать контекст выбора с помощью SelectNodes(IXMLDOMNode, Object, Object) метода или SelectText(IXMLDOMNode, Object) метода, а затем вызвать метод ExecuteAction , чтобы действовать в этом контексте.
Метод ExecuteAction возвращает ошибку в силу следующих причин:
- Параметр
bstrAction
не содержит допустимое имя компонента редактирования. - Параметр
varXmlToEdit
не соответствует компоненту редактирования, определенному в представлении. - Параметр
varXmlToEdit
является обязательным для определенного действия редактирования. - Действие редактирования не применимо в выбранном контексте.
- Далее представлена таблица сочетаний параметров, которые можно использовать вместе с методом ExecuteAction.
"Копировать" | Копирует выбранные данные в буфер обмена. |
"Вставить" | Копирует данные из буфера обмена в место вставки. |
"Вырезать" | Удаляет выбранные данные и копирует их в буфер обмена. |
"Delete" («Удалить») | Удаляет выбранные данные. |
"xCollection::insert", "xmlToEdit " | Вставляет данные, исходя из указанного контекста, с помощью компонента редактирования xCollection. Если текущий выбор входит в контейнер xCollection, заданный его элементом xmlToEdit в файле XSF, тогда данные элемента fragmentToInsert добавляются в этот контейнер. |
"xCollection::insertBefore", "xmlToEdit " | Вставляет данные до указанного контекста с помощью компонента редактирования xCollection. Если текущий выбор входит в элемент xCollection, заданный его элементом xmlToEdit в файле XSF, тогда данные элемента fragmentToInsert вставляются до элемента. |
"xCollection::insertAfter", "xmlToEdit " | Вставляет данные после указанного контекста с помощью компонента редактирования xCollection. Если текущий выбор входит в элемент xCollection, заданный его элементом xmlToEdit в файле XSF, тогда данные элемента fragmentToInsert вставляются после элемента. |
"xCollection::remove", "xmlToEdit " | Удаляет данные из указанного контекста с помощью компонента редактирования xCollection. Если текущий выбор входит в элемент xCollection, заданный его элементом xmlToEdit в файле XSF, тогда этот элемент будет удален. |
"xCollection::removeAll", "xmlToEdit " | Удаляет все данные, содержащиеся в указанном контексте, с помощью компонента редактирования xCollection. Если текущий выбор входит в контейнер xCollection, как указывает элемент xmlToEdit в файле XSF, тогда этим действием будут удалены все элементы в этом контейнере. |
"xReplace::replace", "xmlToEdit " | Заменяет данные в указанном контексте с помощью компонента редактирования xReplace. Если текущий выбор входит в элемент xReplace, как указывает элемент xmlToEdit в файле XSF, тогда этот элемент будет заменен данными элемента fragmentToInsert. |
"xOptional::insert", "xmlToEdit " | Вставляет данные на основе указанного контекста с помощью компонента редактирования xOptional. Если текущий выбор входит в контейнер xOptional, как указывает элемент xmlToEdit в файле XSF, тогда данные элемента fragmentToInsert будут добавлены в этот контейнер. |
"xOptional::remove", "xmlToEdit " | Удаляет данные из указанного контекста с помощью компонента редактирования xOptional. Если текущий выбор входит в элемент xOptional, как указывает его элемент xmlToEdit в файле XSF, тогда этот элемент будет удален. |
Примечание. В некоторых случаях вызов метода ExecuteAction из OnClick для кнопки в представлении может вызвать ошибку. Это происходит потому, что выбранный контекст будет изменен для кнопки при ее нажатии. В подобном случае лучше использовать кнопку (или ссылку) на пользовательской области задач, в панели инструментов или в меню для вызова метода ExecuteAction.