![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!