18. Запросы

Запросы представлены компонентом TdxQueryGrid. Большинство методов и свойств этого компонента аналогичны методам и свойствам формы (TdxForm) и табличной части формы (TdxGrid). Вы не можете повлиять на результат вывода запроса (состав полей, фильтры). Вы можете только читать и обновлять данные.

Окно редактирования запроса

Если быть более точным, то это окно редактирования формы, связанной с запросом. Если запрос редактируемый, то с ним связано окно редактирования. Окно редактирования создается динамически при первой попытке редактировать данные, которое инициируется командами «Добавить», «Изменить» и «Удалить» (!). При этом возникает событие OnCreateForm:

TCreateFormEvent = procedure(Sender: TObject; Form: TdxForm);

Параметр Form как раз указывает на созданную форму. Пример кода:

procedure QueryFormCreate(Sender: TObject; Fm: TdxForm);
begin
  Fm.EditWindow.OnShow := @EditWindowShow;
end;
 
procedure Form_Create;
begin
  dxQueryGrid1.OnCreateForm := @QueryFormCreate;
end;