На главную   На главную   Форумы Новости Документация Скачать Купить  
Регистрация  
Система Allegro
Oб Allegro Характеристики Пример конфигурации Документация База ошибок Развитие
Версия для печати К списку книг Вернуться к оглавлению Предыдущий параграф Следующий параграф
Поиск по книге

Глава 12. РАЗРАБОТКА ОКОННОГО ИНТЕРФЕЙСА

Диалог выбора из справочника TRefDialog

Этот компонент рекомендуется использовать в тех случаях, когда необходимо в процессе работы программы вызвать стандартный диалог выбора из справочника .


Свойства Published  
ClassButtons Свойство определяет множество элементов управления, которые будут доступны в справочнике. Имеет тип TRefQueryButtons
ClassTableName Название таблицы класса
NamesType Способ отображения: ATTRIBUTES – поля справочника SHORT _NAME –краткие наименования объектов Возможны и другие значения, если в конфигурации имеются дополнительные типы наименований объектов .
Options Опции диалога. Имеет тип TRefSelectDlgOptions
RootRubric_ID Идентификатор корневой рубрики. Если значение этого свойства отлично от нуля – в окне диалога слева высвечивается дерево рубрик, начиная с этой рубрики.
SubClassButtons Свойство определяет множество элементов управления, которые будут доступны в подчиненном справочнике, если тот отображается. Имеет тип TRefQueryButtons
SubClassTableName Название таблицы починенного класса
Title Заголовок для окна диалога.
Transaction Транзакция
WindowOptions Оконные опции. Имеет тип TWindowOptions

Свойства Public тип readonly  
Object_ID integer readonly ID элемента, выбранного из справочника.
SubObject_ID integer readonly ID элемента, выбранного из подчиненного справочника.

Методы  
function Execute: boolean Вызывает диалог на экран. Возвращает True, если пользователь выбрал справочный элемент в диалоге и False, если он нажал кнопку «Отмена».
procedure CloseQueries Закрывает все открытые внутренние запросы.

Объявления некоторых типов данных, используемых в свойствах этого компонента показаны ниже:

TRefSelectDlgOption  = (doValueRequired, doSubValueRequired, doShowSubmitted,
    doRestrictClass, doRestrictSubClass, doHideLookups, doHideSubLookups,
    doRelocateRecord, doUseWindowOptions);
TRefSelectDlgOptions = set of TRefSelectDlgOption;
{doValueRequired  - требуется выбрать значение в справочнике
 doSubValueRequired - требуется выбрать значение в подчиненном справочнике
 doShowSubmitted – показывать подчиненные справочники
 doRestrictClass – ограничить класс справочника (не отображать дочерние)
 doRestrictSubClass – ограничить класс подчиненного справочника (не отображать дочерние)
 doHideLookups – не высвечивать дополнительные поля в режиме отображения наименований
 doHideSubLookups - не высвечивать дополнительные поля подчиненного класса
 doRelocateRecord – осуществлять поиск «текущего» элемента при повторном открытии диалога
 doUseWindowOptions – использовать оконные опции
TRefQueryButton = (rqbInsert, rqbDelete, rqbEdit, rqbRefresh, rqbFilter, rqbSubmit, rqbNamesType);
TRefQueryButtons = set of TRefQueryButton;
{rqbInsert – отображать кнопку «Добавить»,
 rqbDelete – отображать кнопку «Удалить»,
 rqbEdit – отображать кнопку «Изменить»,
 rqbRefresh – отображать кнопку «Освежить»,
 rqbFilter – отображать кнопку «Фильтр»,
 rqbSubmit – отображать кнопку «Показывать подчиненные»,
 rqbNamesType – отображать селектор «Режим» (атрибуты, краткое наименование и т.п.)}
TWindowOptions = class(TPersistent)
public
  constructor Create;
published
  property Height: integer read FHeight write FHeight;
  property Width: integer read FWidth write FWidth;
  property Left: integer read FLeft write FLeft;
  property Top: integer read FTop write FTop;
  property Position: TPosition read FPosition write SetPosition;
end;

Использовать компонент TRefDialog несложно. Достаточно в Инспекторе объектов указать транзакцию и установить свойство ClassTableName, выбрав имя таблицы из выпадающего списка. Затем в программе следует вызвать метод Execute , а затем прочитать значение свойства Object_ID. Например, так:

with RefDialog1 do
if Execute then
  ShowMessage(IntToStr(Object_ID));

Еще проще использовать оконные компоненты – селекторы объектов TRefEdit и TDBRefEdit, которые вызывают тот же диалог выбора из справочника .



Система Allegro. Руководство разработчика Наверх