XmlEvent.Changing Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создается после изменений в связанном XML-документе формы, но до принятия этих изменений.
public:
abstract event Microsoft::Office::InfoPath::XmlChangingEventHandler ^ Changing;
public abstract event Microsoft.Office.InfoPath.XmlChangingEventHandler Changing;
member this.Changing : Microsoft.Office.InfoPath.XmlChangingEventHandler
Public MustOverride Custom Event Changing As XmlChangingEventHandler
Тип события
Исключения
Попытка разработчика привязать событие к узлу в дополнительном источнике данных. Это событие не поддерживается для дополнительного источника данных.
Примеры
В следующем примере при изменении поля field2 возникает событие Change и FormError объект для field1 добавляется в formErrorCollection с помощью Add(XPathNavigator, String, String, String) метода класса FormErrorCollection .
Это связывает сообщение об ошибке со значением field1. Строка, переданная в message
качестве параметра метода Add , отображается в подсказке экрана при наведении указателя мыши на поле field1. Когда пользователь щелкает правой кнопкой мыши поле 1 и щелкает полное описание ошибки, InfoPath отображает полное сообщение об ошибке, включая строку, переданную в messageDetails
качестве параметра метода Add .
public void field2_Changing(object sender, XmlChangingEventArgs e)
{
XPathNavigator errNode =
this.CreateNavigator().SelectSingleNode("/my:myFields/my:field1",
NamespaceManager);
this.Errors.Add(errNode, "Field2Changing",
"The Changing event occurred for Field2.",
"Changes were made to Field2, but have not yet been accepted.");
}
Public Sub field2_Changing(ByVal sender As Object, _
ByVal e As XmlChangingEventArgs)
Dim errNode As XPathNavigator = Me.CreateNavigator(). _
SelectSingleNode("/my:myFields/my:field1", NamespaceManager)
Me.Errors.Add(errNode, "Field2Changing", _
"The Changing event occurred for Field2.", _
"Changes were made, but have not yet been accepted.")
End Sub
Комментарии
Важно! Событие Изменение не предназначено для создания экземпляра разработчиком в коде формы. При добавлении обработчика событий в шаблон формы из пользовательского интерфейса режима конструктора Microsoft InfoPath создает код в методе InternalStartup файла кода формы с помощью EventManager класса и члена класса для привязки XmlEvent событий уровня документа к обработчикам событий. Сведения о порядке добавления обработчиков событий в режиме конструктора InfoPath см. в разделе How to: Add an Event Handler.
Событие Изменение связывается с помощью делегата XmlChangingEventHandler .
Этот обработчик события позволяет пользователям отменить операцию.
Во время события Changing связанный XML-документ формы переводится в режим только для чтения. Если для свойства XmlChangingEventArgs.CancelableArgs.Cancel установлено значение true, InfoPath отклоняет внесенные изменения и для пользователя отображается окно сообщения. Если возникает ошибка в коде для события Changing, InfoPath отклоняет изменения и возвращает данные к предыдущему состоянию.
Примечание. Рекомендуется избегать переключения представлений во время события Изменения . Изменения еще не приняты, и переключение на другое представление может привести к ошибке.
Доступ к этому типу или элементу предоставляется только из кода, выполняющегося в формах, открытых в Microsoft InfoPath Filler.