16. Окно списка
Еще одним элементом интерфейса DataExpress является окно списка. Оно открывается при нажатии на кнопку объекта. Представлено классом TListWindow.
Доступ к компонентам можно получить через следующие свойства:
- ToolBar – панель инструментов,
- FormView – компонент представления формы,
- Buttons – панель кнопок.
Управление окном списка объекта
Для управления окном списка объекта надо подключиться к событию объекта OnCreateListWindow.
Пример:
procedure ListWindowCreate(Sender: TObject; aWindow: TForm); var LWnd: TListWindow; begin LWnd := TListWindow(aWindow); LWnd.FormView.Form.EditWindow.OnShow := @EditWindowShow; LWnd.Caption := '…'; end; procedure Form_Create; begin dxLookupComboBox1.OnCreateListWindow := @ListWindowCreate; end;
Создание и уничтожение окна списка
Окно списка вполне может существовать самостоятельно без привязки к полю типа «объект». Для этого нужен конструктор Create:
constructor Create(const FormName: String; ViewType: TViewType);
Параметры:
- FormName – имя формы. Не допускается указывать дочерние формы.
- ViewType – представление формы:
- vtGridTop – таблица сверху,
- vtGridBottom – таблица внизу,
- vtGridLeft – таблица слева,
- vtGridRight – таблица справа,
- vtGridOnly – только таблица,
- vtWithoutGrid – только формы,
- vtSimpleForm – простая форма,
- vtDefault – представление по умолчанию, заданное в дизайнере.
Пример:
ListWnd := TListWindow.Create('Клиенты', vtGridLeft); ListWnd.FormView.Form.Open; // Разработчик должен самостоятельно открывать набор данных ListWnd.ShowModal; ListWnd.Form.Close; // … и закрывать (необязательно, если окно уничтожается) ListWnd.Free; // Уничтожение окна списка