Практическое руководство. Обработка событий данных
Приложение можно настроить путем написания кода, который выполняется при возникновении определенных событий, инициируемых изменением данных. Например, можно написать код, который будет выполняться при создании, изменении, удалении строк данных в таблице или доступе к ним. Также можно написать код, с помощью которого можно проверить наличие у пользователя разрешения на изменение источника данных.
Доступные для обработки события можно разделить на шесть категорий.
Общие методы запускаются при создании, удалении или изменении данных.
Методы управления доступом запускаются при создании, удалении или изменении данных.
Методы запросов выполняются при запросе источника данных.
Методы источников данных выполняются при сохранении в источнике данных.
Методы свойств запускаются при изменении свойства.
Описание этих методов дано в таблицах в конце этого раздела.
Обработка событий, связанных с данными
В области Обозреватель решений дважды щелкните сущность или таблицу.
Сущность или таблица откроется в конструкторе данных.
На панели команд конструктора данных щелкните стрелку рядом с кнопкой Запись кода и выберите метод, который необходимо переопределить. В следующих таблицах показаны методы, которые может обрабатывать приложение.
Примечание
Методы свойств отображаются только в раскрывающемся списке Запись кода, если выбрано свойство в конструкторе данных.
Откроется редактор кода.
Поместите курсор в созданный метод и введите код, который требуется выполнить при возникновении события.
Список событий, связанных с данными
В следующих таблицах перечислены события, инициируемые изменением данных, которые может обрабатывать приложение.
Общие методы |
Описание |
---|---|
<TableName>_AllowSaveWithErrors |
Определяет необходимость сохранения элемента при наличии ошибок проверки. Сохранение будет прервано по умолчанию, если элемент содержит ошибки проверки. Выполняется на уровне вызова. |
<TableName>_Created |
Вызывается после создания элемента. Выполняется на том уровне, на котором был создан элемент. |
<TableSetName>_Deleted |
Вызывается сразу после удаления элемента из хранилища данных. Выполняется на сервере. |
<TableSetName>_Deleting |
Вызывается непосредственно перед удалением элемента из хранилища данных. Выполняется на сервере. |
<TableSetName>_Inserted |
Вызывается сразу после вставки элемента в хранилище данных. Выполняется на сервере. |
<TableSetName>_Inserting |
Вызывается непосредственно перед вставкой элемента в хранилище данных. Выполняется на сервере. |
<TableSetName>_Updated |
Вызывается сразу после обновления элемента в хранилище данных. Выполняется на сервере. |
<TableSetName>_Updating |
Вызывается непосредственно перед обновлением элемента в хранилище данных. Выполняется на сервере. |
<TableSetName>_Validate |
Вызывается при проверке элемента на сервере. |
Методы управления доступом |
Описание |
---|---|
SaveChanges_CanExecute |
Вызывается перед сохранением изменений в источнике данных для проверки уровня разрешений текущего пользователя. Выполняется на сервере. |
<TableSetName>_CanDelete |
Вызывается перед удалением элемента для проверки уровня разрешений текущего пользователя. Выполняется на сервере. |
<TableSetName>_CanInsert |
Вызывается перед вставкой элемента для проверки уровня разрешений текущего пользователя. Выполняется на сервере. |
<TableSetName>_CanRead |
Вызывается перед чтением элемента для проверки уровня разрешений текущего пользователя. Выполняется на сервере. |
<TableSetName>_CanUpdate |
Вызывается перед обновлением элемента для проверки уровня разрешений текущего пользователя. Выполняется на сервере. |
Методы запроса |
Описание |
---|---|
Query_ExecuteFailed |
Вызывается после сбоя при выполнении запроса. Выполняется на сервере. |
Query_Executed |
Вызывается сразу после выполнения запроса. Этот метод не вызывается в случае сбоя при выполнении запроса. Выполняется на сервере. |
Выполнение запроса |
Вызывается непосредственно перед выполнением запроса. Выполняется на сервере. |
<TableSetName>_Filter |
Вызывается перед запуском запроса, что позволяет выполнить дополнительную настройку запроса. Выполняется на сервере. |
Методы источников данных |
Описание |
---|---|
SaveChanges_ExecuteFailed |
Вызывается сразу после сбоя при сохранении в источнике данных. Выполняется на сервере. |
SaveChanges_Executed |
Вызывается сразу после успешного сохранения изменений в источнике данных. Выполняется на сервере. |
SaveChanges_Executing |
Вызывается непосредственно перед сохранением изменений в источнике данных. Выполняется на сервере. |
Методы свойств |
|
---|---|
<PropertyName>_Changed |
Вызывается сразу после изменения значения свойства для элемента. Выполняется на том уровне, на котором было изменено свойство. |
<PropertyName>_IsReadOnly |
Возвращает значение, определяющее, доступно ли свойство только для чтения. Выполняется на уровне, на котором произошло обращение к свойству. |
<PropertyName>_Validate |
Вызывается при проверке свойства. Выполняется на том уровне, на котором выполняется проверка свойства. |
См. также
Задачи
Практическое руководство. Обработка событий экранов Silverlight
Практическое руководство. Обработка событий запроса