Главная » Delphi » Delphi 2006 – Расширяем возможности приложения ЕСО

0

Дополним форму приложения второй кнопкой. Введем в качестве ее заголовка строку Добавить Планету. Разместим также на форме вторую таблицу DataGrid. Пусть ее название (свойство Captiontext) —Планеты.

Добавим в проект новый компонент ExpressionHandle и назовем его ehPlanet. Он будет ответственен за доступ к экземплярам класса Planet объектного пространства. Введем в свойстве RootHandle значение rhRoot в качестве его корневого объекта. В свойстве Expression введем строку Planet .Alllnstances (можно воспользоваться построителем выражений OCL).

Новая таблица представляется объектом DataGrid2. Свяжем ее через свойство DataSource с дескриптором ehPlanet. Для кнопки зададим связь с таблицей DataGrid2 через ее свойство BindingContext, а в качестве корневого идентификатора в свойстве RootHandle выберем объект Planet. В результате в приложении будут функционировать две таблицы. Первая представляет звезды (экземпляры класса Star), а вторая — планеты (экземпляры класса Planet) — рис. 9.9.

А/с. ЯЯ Настраиваем таблицы и кнопки

В Инспекторе объектов имеются группы ЕСО I GUI и ЕСО I ListAction. В них сосредоточены свойства элементов управления, ответственные за связь с объектным пространством ЕСО. Мы уже познакомились с действием по добавлению нового объекта в это пространство. Кнопка выполнит такое действие, если в ее свойстве EcoListAction выбрано значение Add. В данном свойстве имеются также команды для перемещения текущего объекта по списку вверх (MoveUp) и вниз (MoveDown), для удаления текущего объекта ЕСО (Delete) и другие средства.

Добавим на форму новую кнопку и назовем ее Удалить планету. Свяжем ее с таблицей DataGrid2, визуализирующей экземпляры класса Planet, с помощью свойства кнопки BindingContext. В свойстве кнопки RootHandle укажем ссылку на дескриптор ehPlanet, связывающий форму с объектным пространством. А в свойстве EcoListAction кнопки выберем значение Delete (Удалить). Если теперь запустить программу, то будет возможно удалять строку, выделенную в таблице Планеты. При этом автоматически удалится соответствующий экземпляр класса Planet, расположенный в объектном пространстве.

При попытке удалить объект ЕСО из пользовательского интерфейса формы откроется стандартное диалоговое окно с запросом на подтверждение операции.

Бобровский С. И. Технологии Delphi 2006. Новые возможности. — СПб.: Питер, 2006. — 288 е.: ил.

По теме:

  • Комментарии