3.3.7. Список паскаль событий

Название операции Обязательность Фреймы Описание
OnFrameActivated нет Grid, Tree и HTML фреймы Сообщение приходит при получении фокуса списком и древовидным списком.
OnFormActivatedAfterFindWindow нет   Сообщение приходит при получении фокуса формой после её активации через вызов метода CreateFormEx, если была активирована уже существовавшая форма.
OnAfterNodeOpen нет    
OnCloseFormQuery нет Все

Операция срабатывает перед закрытием фрейма до операций OnFromCloseOK и OnFromCloseCancel, давая возможность отменить закрытие фрейма.

Флаг закрытия фрейма передается в результат операции:

result := false; - отменить закрытие

result := true; - прододжить закртытие

Особенности поведения:

В случае, если в выборке был открыт не модально файл через BlobOpenEx2 и не закрыт до закрытия формы, то если операция OnCloseFormQuery отсутствует, пользователю будет показан стандартный диалог, иначе будет вызвана операция.

OnBeforeCreateEditor нет    
OnClientFilterChanged нет    
OnControllerCreated нет  

Операция, срабатывающая сразу после того, как был создан фрейм отображения выборки. Но вовсе не означает что Selection.Controller будет содержать объект, так как у некоторых фреймов нет котроллера, например у фрейма Chart.

Эта операция аналогична OnShow, но срабатывает в том числе и при открытии интерфейсных элементов формы, которые были скрыты при открытии формы (например, закладки, которые не были первыми в перечне закладок).

OnColumnHeaderClick нет   Событие при клике на заголовок колонки
OnFocusedItemChanged нет    
OnFocusedFieldChanged нет   Это специальная операция, распознаваемая клиентом и срабатывающая после перехода фокуса ввода в списке или дереве с одного столбца на другой, а так же при переходе с контрола на контрол в карточке или панели фильтров.
OnFocusedCellChanged нет   Это специальная операция, распознаваемая клиентом и срабатывающая после перехода фокуса ввода в списке с одной ячейки на другую.
OnShowCellComment нет    
OnShowEditor нет    
OnCanStartDrag   Grid и Tree фреймы  
OnDragOver   Grid и Tree фреймы  
OnDragDrop   Grid и Tree фреймы  
OnItemChanged   Gantt фрейм Срабатывает при окончании изменения размеров или перетаскивания элементов пользователем.
OnLinkCreate   Gantt фрейм  
OnLinkDelete   Gantt фрейм  
OnAfterBulkUpdate нет Grid и Tree фреймы Срабатывает после вставки в список или древовидный список набора ячеек через буфер обмена из Excel .
OnSelectionChanged нет Scheduler  
OnEventSelectionChanged нет Scheduler  
OnDateNavigatorSelectionChanged нет Scheduler  
OnDateNavigatorPeriodChanged нет Scheduler  
OnEventAdd нет Scheduler  
OnEditEvent нет Scheduler  
OnDeleteEvent нет Scheduler  
OnBeforeNavigate нет HTML Перед переходом на другую страницу. Можно через GetVar узнать значение переменной NavigateURL# - адрес перехода. NavigateURL# можно изменить, тогда будет открыт браузер в новом окне по этой ссылке.
OnApplyFilter нет   Перед применением универсального фильтра выборки. Текст запроса, указанный в поле WhereMacro возвращаемого объекта будет приписан к имеющемуся макросу универсальной фильтрации Подробнее про события универсального фильтра: Фильтрация серверная
OnResetFilter нет   Перед сбросом универсального фильтра выборки. Если возвращается результат, то он записывается вместо старого
OnAddSelectedRecToFilter нет   Перед добавлением выделенных записей в условия фильтрации. Если возвращается непустой результат, то стандартное изменение запроса не производится (перекрывается). Запрос изменяется в соответствии с возвращенным значением
OnFilterInit нет   При инициализации фильтра, сразу после OnLoadMeta. Возвращаемое значение (Variant) будет передаваться входным параметром при последующих вызовах операций OnApplyFilter, OnResetFilter и OnAddSelectedRecToFilter
OnFilterFinalize нет   При деинсталяции фильтра, непосредственно до OnUnLoadMeta. Возвращение значения не предполагается.
OnActivateEditor нет  

Если текущая выборка является выборкой выпадающего списка (LookupSelection), при ее открытии она пытается вызвать операцию OnActivateEditor своей мастер-выборки, передавая туда себя в качестве параметра. Предполагается, что в этой операции можно будет задать значение свойства UniFilterMacrosRO выборки выпадающего списка, тем самым, ограничив ее.

Таким образом первый параметр операции LookupSelection, второй AttrName

SelectedRecordsChanged нет Grid и Tree фреймы Срабатывает после изменения набора выделенных записей
AfterGetSQLTEXT нет   Смотреть порядок вызова событий при открытии выборки

Порядок вызова операций при открытии и закрытии формы, состоящей из одного списка:

Открываем форму:

  1. ONLOADMETA
  2. ONFILTERINIT
  3. BEFOREOPEN
  4. ONAPPLYFILTER
  5. BEFOREGETSQLTEXT
  6. GETSQLTEXT
  7. AFTEROPEN
  8. CHECKWORKABILITY
  9. AFTERGETSQLTEXT
  10. ONSHOW
  11. ONFRAMEACTIVATED

Закрываем форму:

  1. ONCLOSEFORMQUERY
  2. ONFILTERFINALIZE
  3. ONUNLOADMETA

Сохранение пользовательских настроек в реестр происходит при закрытии датасета выборки. Восстановление - после вызова метода OnShow, непосредственно перед отрисовкой.