Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Использование TDBLookupComboboxEh



TDBLookupComboBoxEh представляет собой combo box сопоставляющий набору значений полей в одном dataset'е соответствующий набор значений из другого dataset'а. Для более детального ознакомления с понятием 'lookup' смотрите справку Delphi, тема - Displaying and editing data in lookup list and combo boxes.

TDBLookupComboboxEh может иметь два стиля (свойство Style):

csDropDownEh - Приложение может назначать и пользователи могут вводить текст, который не содержится в списке данных.

csDropDownListEh - Приложение может назначать и пользователи могут выбирать только текст, который содержится в списке.

Если свойства KeyField, ListField, ListSource, DataField и DataSource не определены, то вы можете присваивать значения KeyValue и Text как невлияющие друг на друга значения.

Список значений берется данные из dataset'а и управляется свойством ListSource.

Список значений может:

Отображать заголовки (Берутся из свойства Field.FisplayLabel),

Отображать специальную непрокручиваемую строку в верхней части списка (Свойство SpecRow).

Изменять размеры (Свойство Sizable),

Автоматически устанавлитать ширину как сумму DisplayWidth отображаемых полей (Свойство Width = -1),

Автоматическое выпадать при нажатии пользователем буквенной влавиши (Свойство AutoDrop).

Иметь заданную ширину (Свойство Width).

Использование SpecRow в столбцах компонентов DBGridEh и DBLookupComboBoxEh.

Свойство SpecRow компонента TDropDownBoxEh либо свойство DropDownSpecRow компонента TColumnEh содержит объект TDropDownBoxEh. TDropDownBoxEh определяет атрибуты специальной строки в выпадающем списке (В TColumnEh SpecRow работает только для lookup полей).

TSpecRowEh содержит следующие свойства:

CellsText: String Определяет текст ячейки в SpecRow. Когда выпадающий список содержит более одного столбца, используйте точку с запятой для отделения текста для каждого столбца.
Color: TColor Цвет фона специальной строки в выпадающем списке.
Font: TFont Шрифт текста специальной строки.
Value: Variant Значение. Специальная строка будет выделена в списке когда это значение равно ключевому значению lookup списка.
Visible: Boolean Указывает, что спецстрока активна и видима в списке.
ShortCut: TShortCut Указывает комбинацию клавишь по которой Value будет устанавливаться в значение контрола.
ShowIfNotInKeyList: Boolean Указывает что текст SpecRow, будет отображаеться если значение контрола не содержится в lookup списке ключевых значений.

TSpecRowEh представляет собой специальную строку верхней части списка для lookup-полей в столбце DBGridEh, и в классе TDropDownBoxEh компонента TDBLookupComboboxEh. Эта строка будет подсвечеваться активной, когда lookup-поле либо lookup-combobox содержит значение, равное значению specrow либо значению, отсутствующему в списке LookupList значений.


Использование TPropStorageEh и TPropStorageManagerEh

Компоненты TPropStorageEh and TPropStorageManagerEh реализуют технологию сохранения свойств компонент в/из хранилища настроек, таких как ini-файы и реестр.

Данная версия поддерживает компоненты для сохранения/восстановления в/из ini-файлов и реестра. Базовым компонентом данной технологии является TPropStorageEh. Double-клик на компоненте в design-time открывает окно выбора свойств для сохранения. В дереве свойств вы можете выбирать нужные свойства. Список свойств это список всех published-свойств и объявленных в функции DefineProperty компонентов. Для TCollection кроме добавляется специальная ветвь свойств <ForAllItems>. Если вы выбираете подсвойство в данной ветви, компонент сохранит соответствующее подсвойство для каждого элемента коллекции.

Компонент TPropStorageEh может сохранять/восстанавливает значения свойств в поток, но для перенаправления потока в хранилище необходимо выполнить одно из следующих действий.

1. Поместите компонент, унаследованный от TPropStorageManagerEh на форму.

В данной версии есть два подобных компонента - это TIniPropStorageManEh и TRegPropStorageManEh.

Установите свойства этих компонентов и назначте в качестве свойства TPropStorageEh.StorageManager этот компонент.

2. Либо вы можете один раз написать код для регистрации глобального компонента - DefaultPropStorageManager. Все компоненты TPropStorageEh, у которых свойство StorageManager не назначено будут использовать менеджер DefaultPropStorageManager для перенаправления потока значений свойств в хранилище.

Код для регистрации глобального компонента может выглядеть следующим образом:

----------- MainUnit.Pas--------...... var IniPropStorageMan: TIniPropStorageManEh; initialization IniPropStorageMan:= TIniPropStorageManEh.Create(nil); IniPropStorageMan.IniFileName:= 'MyIniFile.Ini'; SetDefaultPropStorageManager(IniPropStorageMan); end. --------------------------------

Введение в технологию MemTable + DataDriver.

Данная технология предназначена для обеспечения унифицированного способа загрузки табличной информации с сервера на клиент и последующей обработки этих данных на клиенте: редактирования, сортировки, фильтрации и выгрузки измененных данных обратно на сервер. Технология не включает драйверов доступа к серверу.

Технология представлена двумя основными компонента:

TMemTableEh – dataset, который держит все данные в памяти. Его можно рассматривать как массив записей.

Кроме того, он:

Поддерживает специальный интерфейс, позволяющий компоненту DBGridEh просматривать все данные, не перемещая активную запись.

Позволяет закачивать в себя данные из объекта TDataDriverEh (свойство DataDriver).

Позволяет выгружать изменения обратно в DataDriver, оперативно или отложено (в зависимости то свойства CachedUpdates).

Позволяет создавать мастер/дитэил отношения на клиенте (фильтруя записи) или на внешнем источнике (обновляя параметры [Params] и перезапрашивая данные c DetailDataDriver'а).

Позволяет сортировать данные, включая Calculated и Lookup поля.

Позволяет создавать и заполнять данные в design-time и сохранять данные в dfm файле формы.

Позволяет хранить записи в виде дерева. Каждая запись может иметь записи узлы/ветви и сама являться узлом другой родительской записи. Компонент TDBGridEh поддерживает функциональность отображения древовидной структуры этих записей.

Позволяет подключиться к внутреннему массиву другого компонента TMemTableEh (свойство ExternalMemData) и работать с его данными: сортировать, фильтровать, редактировать.

Имеет интерфейс для получения списка всех значений столбца, игнорируя локальный фильтр датасета. TDBGridEh использует это свойство для автоматического формирования списка в выпадающем DropDownBox’е фильтра.

TDataDriverEh – выполняет две задачи:

1. Поставляет данные (записи) в TMemTableEh.

2. Обрабатывает записи, измененные в TMemTableEh (записывает их в другой датасет, или вызывает события для обработки изменений в программе).

Кроме того, имеется несколько компонент наследуемых от TDataDriverEh. Это TSQLDataDriverEh, который содержит в себе пять SQL выражения и параметры для запроса данных, удаления записи, вставки записи, изменения записи, перезапроса записи. TSQLDataDriverEh посылает запросы не сервер, но умеет подготавливать параметры запроса и вызывает глобальное событие, в котором программист может передать SQL выражение на сервер. От TSQLDataDriverEh порождены несколько компонентов, которые сами могут посылать SQL выражения на сервер через соответствующие драйвера доступа к данным. Это TBDEDataDriverEh, TIBXDataDriverEh, TDBXDataDriverEh и TADODataDriverEh.





Дата публикования: 2014-11-28; Прочитано: 2853 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.098 с)...