Сайт Koder.kz сайт для Delphi программистов.

koder.kz

Web or desctop App Developer

Написать

Добавил admin | Категория Наши материалы | 28 Марта 2014


Общие сведения об edit-контролах.

EhLib включает пять edit-контролов: TDBEditEh, TDBDateTimeEditEh, TDBComboBoxEh, TDBNumberEditEh and TDBLookupComboboxEh. EhLib не содержит не-data-aware версий этих компонентов, т.к. каждый компонент может работать в режимах как data-aware так и не-data-aware. Базовый класс, для всех edit-контролов - это TCustomDBEditEh. TCustomDBEditEh обеспечивает поведение обычных контролов для редактирования текста и, если требуется, редактирования поля базы данных и позволяет: Базовые функции редактирования текста, такие как выделение текста, изменение выделенного текста и изменения регистра букв. Доступ к тексту компонента, маркированного как read-only либо указание password character для скрытия настоящего значения. Проверка правильности ввода - использование маски ввода. Запись отредактированного текса в поле базы данных. Отображение одной либо нескольких кнопок редактирования (с разными изображениями: выпадающий список, многоточие, up-down стрелки, знак +, знак - либо произвольная картинка) в правой части поля редактирования. Отображение картинки из ImageList в левой части поля редактирования. Приложение может использовать свойства Text (тип String) и Value (тип Variant) для получения и установки текстового либо вариантного значений контрола. Свойство Text - это текст, который вы видите в контроле. Свойство Value содержит значения вариантного типа и может содержать типы данных, зависящие от типа контрола. Оно может содержит значение Null либо:
Строкового типа для TDBEditEh и TDBComboBoxEh,
Типов TDateTime, TDate, TTime, Double для TDBDateTimeEditEh,
Все числовые типы для TDBNumberEditEh,
TDBLookupComboboxEh содержит значение, зависящее от типа lookup-поля.
Если контрол подключен к полю датасета, то в момент присвоения значения свойствам Text либо Value автоматически занесутся в поле.
Все контролы имеют свойства Flat и AlwaysShowBorder для отображения 'плоской' рамки вокруг контрола.

Работа с кнопками редактирования.

Каждый edit-контрол позволяет отображать одну или более кнопок в правой части зоны редактирования. Для этого вы можете использовать свойства EditButton и EditButtons.

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

TDBDateTimeEditEh представляет собой однострочный edit-контрол для редактирования даты и/или времени, который может отображать значения даты и/или времени.
Свойство Kind определяет представление компонента: как редактор дат и/или редактор времени (dtkDateEh, dtkTimeEh, dtkDateTimeEh) либо произвольный (по маске) редактор даты-времени (dtkCustomEh). Используйте свойство EditFormat для установки произвольного формата даты/времени. Вы можете использовать следующие элемены формата: 'YY', 'YYYY', 'MM', 'DD', 'HH', 'NN', 'SS'. По умолчанию TDBDateTimeEditEh строит маску редактирования используя переменную ShortDateFormat. Маска редактирования может быть шести типов: три для 4-символьног отображения года - 'MM/DD/YYYY', 'DD/MM/YYYY', 'YYYY/MM/DD' и три для 2-символьного отображения года 'MM/DD/YY', 'DD/MM/YY', 'YY/MM/DD'.
Приложение может использовать свойства Text (тип String) и Value (тип Variant) для получения и установки типа значения TDBDateTimeEditEh. Если TDBDateTimeEditEh типа dtkDateEh, тогда он будет менять только часть поля, являющуюся датой. Если TDBDateTimeEditEh типа dtkTimeEh то он будет менять только часть данных, являющуюся временем.

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

TDBNumberEditEh предствляет собой однострочный числовой edit-контрол, который может отображать числовые данные.
TDBNumberEditEh отображает текст формата, заданного свойством DisplayFormat независимо имеет или не имеет контрол фокус ввода.
Используйте свойства EditButton для настройки кнопки в правой части контрола. Когда EditButton установлен в UpDown, то контрол работает как spin-edit. Используйте свойство Increment для установки того, какое значение будет добавляться и вычитаться из значения при нажатии на spin-кнопки контрола.

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

Компонент TDBComboBoxEh - это edit box с прокручивающимся выпадающим списком. Пользователи могут выбирать значения из списка либо вводить прямо в edit box.
TDBComboBoxEh позволяет отображать однстрочный либо многострочный текст. Используйте свойство WordWrap для установки TDBComboBoxEh как многострочного редактора.
Используйте свойство Items для доступа к списку значений (строк) части списка combo box'а.
Используйте свойство KeyItems для доступа к списку значений (строк) которые будут сохранены в поле когда свойство Items тоже установлено. Если Items и KeyItems заполнены то KeyList задает значения, которые сохраняются в поле, а в Items под ссотвествующими индексами задаются значения для отображения.
Используйте свойство Images для определения изображений, которые будут отображаться в выпадающем списке и отображаемое в левой части combobox'а. Индекс изображения будет браться из свойства ItemIndex ComboBox'а.

Использование 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 значений.