Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование БД в Delphi ВТиП.doc
Скачиваний:
53
Добавлен:
17.03.2016
Размер:
3.62 Mб
Скачать
    1. Компоненты визуализации полей текущей записи

Компоненты визуализации полей текущей записиразмещаются на обычной форме и используются для наглядного представления содержимогополей текущей записи (см. Chapt09\6CompVisualField\BiblosPrg.dpr).

Набор этих компонент располагается на вкладке Data Controls и во многом совпадает с уже известными компонентами проектирования форм в Delphi. На рисунке 12.9 показан пример формы для ввода и редактирования данных по накладной.

Примечание. Следует отметить, что любой расположенный на форме визуализирующий компонент напрямую связан с таблицейNAKLSи вносит в соответствующее поле текущей записи изменения в момент, когда этот компонент лишается фокуса ввода! Поэтому следует позаботиться о том, чтобы можно было отказаться от этих изменений по нажатии кнопкиCancel. Для этого используются средства кэширования изменений, которые рассматриваются в разделе10.

Рисунок 8.72 – Пример формыдляввода и редактирования данных по накладной

Для нормальной работы любого из описываемых ниже компонентов визуализации полей текущей записи нужно определить два его свойства, а именно в свойство DataSourceпоместить имя связанного с набором данных компонента-источникаTDataSource, а в свойствоDataField- имя отображаемого поля записи.

      1. Компонент tdbText

С помощью компонента TDBTextможно отображать текстовое представление различных полейНДв том виде, в котором эти поля отображаются в сеткеTDBGrid. Фактически компонент повторяет функциональность меткиTLabelза тем исключением, что его текст формируется автоматически на основании значения некоторого поля текущей записи.

Отображаемый компонентом текст нельзя изменять и, следовательно, с его помощью нельзя редактировать связанное с ним поле. Разумеется, тип отображаемого поля должен быть приводимым к текстовому значению.

Для использования компонента TDBTextнужно связать его с соответствующим полемНДс помощью свойствDataSourceиDataField.

      1. Компонент tdbEdit

Компонент TDBEditпозволяет редактировать значение поля текущей записиНД. Он повторяет функциональность компонентаTEdit, позволяющего корректировать текстовое значение переменной, но источником данных и их приемником для него служит полеНД. Тип этого поля должен быть приводимым к текстовому значению. В форме, показанной на рисунке12.9, компонентTDBEditиспользован для ввода и редактирования полей дат, сумм и коэффициента скидки/наценки.

При вводе значения в компонент TDBEditпрограмма автоматически следит за тем, чтобы оно было совместимо по формату с полемНД. Ввод неверных значений блокируется. Например, если в компонент, связанный с полем типа дата-время, попытаться поместить произвольный текст, будет возбуждена исключительная ситуация.

Свойства, методы и события компонента аналогичны свойствам, методам и событиям стандартного компонента TEdit.

      1. Компонент tdbCheckBox

Компонент TDBCheckBox обладает функциональностью стандартного флажка TCheckBox, но источником данных и их приемником для него служит поле НД, которое может быть логическим или символьным. В последнем случае необходимо соответствующим образом установить значения текстовых свойств ValueChecked и ValueUnchecked компонента. Например:

DBCheckBoxl.ValueChecked := 'True; Yеs; On; Да; Д';

DBCheckBoxl.ValueUnchecked := 'False; No; Off; Нет; Н';