TdxForm
Наследование: TCustomPanel > TCustomControl > TWinControl > TControl > TComponent > TPersistent > TObject
Форма - главное действующее лицо в системе DataExpress.
В отличии от форм Delphi или Lazarus, основанных на TForm, формы DataExpress - это контейнеры, которые, в свою очередь, могут находится внутри другого контейнере (в TFormView или TEditWindow, например). Чтобы не путать формы Lazarus и DataExpress, введен класс TWindow, производный от TForm. Таким образом в DataExpress есть формы (TdxForm) и окна (потомки TWindow).
На самом деле TdxForm это не просто контейнер, а целый механизм, который управляет данными и компонентами внутри нее. Форма и ее компоненты также являются метаданными, т. е. на их основе строится структура БД, генерируются запросы к базе.
С формой связан набор данных, имеются методы для манипулирования записями: добавления, изменения, удаления, поиска. Форма и набор данных тесно связаны между собой. Для краткости в документации вместо слов набор данных, часто будет использоваться слово форма (или запрос).
Собственно, все программирование происходит внутри модуля формы. Если вам не хватает возможностей выражений, вы создаете модуль формы и пишите код.
Перед вызовом методов и свойств формы убедитесь, что набор данных открыт программой или одним из методов Open, OpenRecords, OpenRecord.
Все изменения в подчиненной форме (добавление, изменение, удаление) сохраняется в наборе данных и отправляются в базу данных только после сохранения записи родительской формы (см. метод Post).
Методы | |
Append | Добавляет запись в форму. |
BOF | Возвращает True, если достигнуто начало набора данных. Всегда True после открытия набора данных и после вызова метода MoveFirst. После перемещения на другую запись BOF будет False. |
CanAppend | Проверяет права на добавление записи. |
Cancel | Отменяет редактирование или добавление записи. |
CanDelete | Проверяет права на удаление записи. |
CanEdit | Проверяет права на изменение записи. |
Close | Закрывает набор данных. |
ControlsDisabled | Возвращает True, если связь с компонентами отключена. |
Create | Создает новый экземпляр указанной формы. Форма создается в представлении "Только таблица". Если форма не найдена, срабатывает исключение. |
Delete | Удаляет текущую запись. |
DisableControls | Отключает связь с компонентами. Это значит, что компоненты не будут обновляться при изменениях в наборе данных. Свойство Field компонентов будет равно nil. |
DisableScrollEvents | Отключает события перехода OnBeforeScroll, OnAfterScroll. |
Edit | Переводит форму в режим редактирования. |
EnableControls | Восстанавливает связь с компонентами. |
EnableScrollEvents | Восстанавливает обработку событий перемещения OnBeforeScroll, OnAfterScroll. |
EOF | Возвращает True, если достигнут конец набора данных или набор данных пуст. Вызов метода MoveLast приводит к тому же результату. |
FindComponentByFieldName | Возвращает компонент по имени поля. Если компонент не найден, срабатывает исключение. |
GetRecordCaption | Возвращает заголовок окна редактирования записи. Функция сначала проверяет свойство RecordCaption, затем RecordsCaption. Если свойства не заданы, то возвращается значение свойства FormCaption. |
GetRecordsCaption | Возвращает заголовок множества записей, отображаемый в закладке формы и в пункте меню. Функция сначала проверяет свойство RecordsCaption. Если свойство не задано, то возвращается значение свойства FormCaption. |
GotoRecord | Переходит на запись с указанным ID. |
Locate | Ищет запись с указанными значениями и переходит на найденную запись. Поиск ведется с начала набора данных. |
MoveBy | Переходит на Distance записей вперед относительно текущего положения. Если значение отрицательное, то переходит назад. Переход может вызвать чтение очередной порции данных с сервера. |
MoveFirst | Переходит на первую запись. После перехода BOF = True. |
MoveLast | Переходит на последнюю запись. Это приводит к чтению всех данных с сервера. После перехода EOF = True. |
MoveNext | Переходит на следующую запись. Переход может вызвать чтение очередной порции данных с сервера. Если достигнут конец набора данных, EOF = True. |
MovePrior | Переходит на предыдущую запись. Если достигнуто начало набора данных, BOF = True. |
MoveTo | Переходит на запись с номером RecNo. Может вызвать чтение очередной порции данных с сервера. Если номер записи выходит за пределы набора данных, переходит на последнюю и EOF = True. |
Open | Открывает набор данных с учетом фильтров Filter, CustomFilter и условия отбора. Метод посылает запрос серверу и принимает первую порцию данных (порция по 100 записей). |
Opened | Возвращает True, если набор данных открыт. |
OpenRecord | Открывает набор данных и принимает от сервера одну запись с указанным RecId. |
OpenRecords | Открывает набор данных с учетом фильтра CustomFilter. Фильтр формы Filter будет очищен. Метод посылает запрос серверу и получает первую порцию данных (порция по 100 записей). |
Post | Сохраняет изменения в текущей записи. Метод не проверяет данные на ошибки. Для проверки данных вызовите метод Validate. |
Печатает данные формы. | |
RecId | Возвращает ID текущей записи. |
RecNo | Возвращает номер текущей записи. |
RecordCount | Возвращает текущее количество записей в наборе данных. |
Refresh | Обновляет набор данных. Метод вызывает последовательно методы Close и Open. |
ScrollEventsDisabled | Возвращает True если события перехода отключены. |
Validate | Проверяет данные на ошибки. Проверяется заполнение обязательных полей и вычисляются выражения проверки значения. В случае ошибок ввода, появляется всплывающее окно рядом с полем. |
WhoEdit | Возвращает имя пользователя, редактирующего запись. Если запись свободна, то возвращается пустая строка. |
Свойства | |
AsDT | Значение поля как дата/время. Null преобразуется в 30.12.1899. |
AsF | Значение поля как число. Null преобразуется в 0. |
AsI | Значение поля как целое число. Null преобразуется в 0. |
AsS | Значение поля как строка. Null преобразуется в пустую строку. |
CustomFilter | Выражение фильтра. Составляется по тем же правилам, что и фильтр списка. |
CustomFilterForm | Форма, в контексте которой вычисляется выражение фильтра CustomFilter. |
EditWindow | Окно редактирования записи. Если представление формы отличается от "Только таблица", свойство равно nil. |
Field | Доступ к полю набора данных. |
Fields | Доступ к полю набора данных. |
Files | Доступ к файлам формы. |
Filter | Доступ к фильтру формы. |
FormByIndex | Доступ к подчиненной форме по индексу. |
FormCaption | Имя формы. |
FormCount | Количество подчиненных форм. |
Forms | Доступ к подчиненным формам по имени. |
Grid | Табличная часть формы. |
Id | Идентификатор формы. |
Images | Доступ к изображениям формы. |
LockMode | Режим блокировки записи. По умолчанию блокировка включена. |
Modified | Значение равно True, если запись была изменена. Запись считается измененной, если произошла запись в поле набора данных. Любых данных, даже тех же самых. |
OldValues | Доступ к прежним значениям полей, которые были до редактирования записи. |
Params | Доступ к параметрам формы. |
ParentForm | Доступ к родительской форме. В родительской форме значение равно nil. |
PId | Идентификатор родительской формы. В родительской форме значение равно 0. |
Queries | Доступ к запросам формы. |
QueryByIndex | Доступ к запросам по индексу. |
QueryCount | Количество запросов на форме. |
RecordCaption | Определяет заголовок окна редактирования записи. |
RecordsCaption | Определяет заголовок множества записей формы. Этот заголовок используется в закладке формы и пункте меню. |
State | Режим (состояние) формы: просмотр, вставка, редактирование и т. д. |
Tree | Доступ к дереву формы. |
UseSelectCondition | Применять ли условие отбора при открытии набора данных методом Open. |
ViewType | Представление формы. |
События | |
OnAfterCancel | Вызывается после отмены изменений в текущей записи. |
OnAfterClose | Вызывается после закрытия набора данных. |
OnAfterDelete | Вызывается после удаления записи. |
OnAfterDuplicate | Вызывается после дублирования записи пользователем. |
OnAfterEdit | Вызывается после перехода в режим редактирования. |
OnAfterInsert | Вызывается после вставки новой записи. |
OnAfterOpen | Вызывается после открытия набора данных. |
OnAfterPost | Вызывается после сохранения записи. |
OnAfterScroll | Вызывается после перехода на запись. |
OnBeforeCancel | Вызывается до отмены изменений в текущей записи. |
OnBeforeClose | Вызывается до закрытия набора данных. |
OnBeforeDelete | Вызывается до удаления записи. |
OnBeforeDuplicate | Вызывается перед дублированием записи пользователем. |
OnBeforeEdit | Вызывается до перехода в режим редактирования. |
OnBeforeInsert | Вызывается до вставки новой записи. |
OnBeforeOpen | Вызывается до открытия набора данных. |
OnBeforePost | Вызывается до сохранения записи. |
OnBeforeScroll | Вызывается до перехода на запись. |
OnDestroy | Вызывается при уничтожении формы. |
OnFieldChange | Вызывается при изменении поля формы. |
OnPrint | Вызывается на различных этапах печати данных по заданному шаблону. |
OnStateChange | Вызывается каждый раз при обновлении состояния команд формы. |
OnValidate | Вызывается при проверке данных на ошибки ввода. |