Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Proektirovanie_BD_v_Delphi_VTiP.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.82 Mб
Скачать

9.2Компоненты визуализации полей текущей записи

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

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

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

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

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

9.2.1Компонент tdbText

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

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

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

9.2.2Компонент tdbEdit

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

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

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

9.2.3Компонент tdbCheckBox

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]