TdxForm

Наследование: TCustomPanel > TCustomControl > TWinControl > TControl > TComponent > TPersistent > TObject -DESKTOP- -WEB-

Форма - главное действующее лицо в системе 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.
PrintПечатает данные формы.
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Вызывается при проверке данных на ошибки ввода.