Содержание
IntegerLookupField.Filter : String =
Ограничение выбора записей пользователем
Свойство IntegerLookupField.Filter содержит условие на внутреннем SQL, которое используется для ограничения значений, которые может выбрать пользователь.
В условии можно использовать значения других полей формы в виде параметров (:имя_поля). В условии можно использовать все возможности внутреннего SQL.
Например. Существуют два таблицы: Клиенты Clients(Id, Name) и Счета клиентов ClientAccounts(Id, Client, Name, Default). В документе присутствуют два поля: клиент Client и его счет Account. Надо сделать так, что бы в поле счет отображались лишь счета выбранного клиента.
Это можно сделать установив у поля выбора счета свойство Filter равным:
Client = :Client
Что бы при выборе клиента счет автоматически заполнялся счетом по умолчанию, необходимо добавить обработчик:
Пример:Procedure OnClientChange; Begin Account := (Single Id From ClientAccounts Where Client=:Client And Default=True); End;