Лекция #6. Некоторые компоненты визуализации данных.

advertisement
Л ЕКЦИЯ #6. Н ЕКОТОРЫЕ КОМПОНЕНТЫ
ВИЗУАЛИЗАЦИИ ДАННЫХ .
Н ЕКОТОРЫЕ
КОМПОНЕНТЫ
ВИЗУАЛИЗАЦИИ ДАННЫХ .
Ранее мы рассмотрели компонент визуализации
данных DBGrid. Рассмотрим некоторые его свойства.

Columns. Это свойство представляет собой набор
объектов, каждый из которых отражает один
столбец таблицы. Ранее мы использовали столбцы,
формирующиеся
по
умолчанию.
Теперь
сформируем их, используя свойство Columns.
Щелкнем правее этого свойства в Object Inspector.
На экране появится пустое окно Редактора
Столбцов. Возможно туда добавлять столбцы,
выбирая соответствующие поля в Object Inspector в
свойстве FieldName.
Н ЕКОТОРЫЕ
КОМПОНЕНТЫ
ВИЗУАЛИЗАЦИИ ДАННЫХ .

Выделить в Редакторе Столбцов столбец, связанный с полем F2 и
посмотреть его свойства в Object Inspector. Свойство ButtonStyle
определяет стиль ввода данных в поле текущей записи. Свойство
ButtonStyle определяет стиль ввода данных в поле текущей записи.
Свойство ButtonStyle может принимать значения:
- cbsAuto (появление при редактировании кнопки, связанной с
выпадающим списком допустимых значений);
- cbsEllipsis (появление при редактировании кнопки с многоточием «…»,
при щелчке на которой наступает событие OnEditButtonClick компонента
DBGrid);
- cbsNone (обычное редактирование без каких-либо кнопок).Если
установить значение cbsAuto (по умолчанию), то можно дополнительно
установить свойство столбца PickList, которое представляет собой список
допустимых значений поля. В нашем примере для F2 можно занести в
PickList значения «бухгалтерия», «Отдел1» и «Отдел2». Тогда при
попытке пользователя редактировать это поле в соответствующей ячейке
появляется выпадающий список, содержащий допустимые значения.
Н ЕКОТОРЫЕ
КОМПОНЕНТЫ
ВИЗУАЛИЗАЦИИ ДАННЫХ .
Если значение ButtonStylecbsEllipsis, то при попытке пользователя
редактировать данное поле, в нем появится кнопка с многоточием «…».
При щелчке на данной кнопке наступает событие OnEditButtonClick
компонента DBGrid. В обработчике события можно указать, какое поле
редактируется, по свойству SelectedField компонента DBGrid. Это
свойство позволит занести в поле установленные пользователем
значения.
Если buttonStylecbsNone, то редактирование поля происходит без
каких-либо подсказок в виде кнопок.

Свойство DropDownRows (по умолчанию 7) определяет допустимое
число строк в списке, отображающее без появления полосы прокрутки.
Если реальное число строк меньше DropDownRows, размер списка
устанавливается
автоматически.
Аналогично
происходит
редактирование, если свойство cbsAuto относится к столбцу,
содержащему поле просмотра. Тогда выпадающий список заполняется
автоматически. Если данное поле не является результирующим полем
просмотра и список PickList не заполнен, то никакой кнопки при
редактировании не появится.
Н ЕКОТОРЫЕ
КОМПОНЕНТЫ
ВИЗУАЛИЗАЦИИ ДАННЫХ .
На странице DataControl имеются и другие компоненты визуализации.

DBText – аналог обычной метки Label, но связанный с данными.
Позволяет отображать данные некоторого поля, но не дает возможность
его редактировать. Тип отображаемого поля может быть: строка, число,
булева величина. Компонент автоматически переводит соответствующие
типы в отображаемые символы.

DBEdit – связанный с данными аналог обычного окна редактора Edit. Он
позволяет отображать и редактировать данные полей различных типов.
Если задать в компоненте ReadOnly=TRUE, то он будет служить
элементом отображения, но несколько более изящным, чем DBText.

DBMemo – связанный с данными аналог обычного многострочного окна
редактирования Memo. Он позволяет отображать и редактировать
данные поля типа Memo, а также данные любых типов, указанные выше
для предыдущих компонентов. Например, в этом компоненте можно
отображать и редактировать характеристики сотрудников.
Н ЕКОТОРЫЕ
КОМПОНЕНТЫ
ВИЗУАЛИЗАЦИИ ДАННЫХ .

DBRichEdit – связанный с данными аналог обычного
многостраничного окна редактирования текста в обогащенном
формате RTF. Область применения та же, что и для DBMemo.

DBImage – связанный с данными аналог обычного индикатора
CheckBox. Он позволяет отображать и редактировать данные булева
типа. Если при выводе данных поле имеет значение TRUE, то
индикатор включается. И, наоборот, при редактировании поля
присваиваемое ему значение определяется состоянием индикатора.

DBRadioGroup – связанный с данными аналог группы радиокнопок
RadioGroup. Компонент позволяет отображать и редактировать поля
с ограниченным множеством значений. В нашем примере это
может быть поле F2 или F7. Свойство Items определяет число
кнопок и надписи на них (как в обычном RadioGroup). Компонент
DBRadioGroup предоставляет ещё одну возможность ввода данных
пользователя путем выбора, а не написанием полного значения
поля.
Н ЕКОТОРЫЕ
КОМПОНЕНТЫ
ВИЗУАЛИЗАЦИИ ДАННЫХ .
Все компоненты визуализации данных имеют два основных свойства: DataSource
(источник данных) и DataField (поле, с которым связан компонент). Характерной
особенностью всех этих компонентов, отличающих их от несвязанных с данными
аналогов, является отсутствие таких свойств как: Caption в DBText, Text в DBEdit,
Picture в DBImage и т.д. Их нет в Object Inspector, но они доступны программно. Эти
свойства – это значения соответствующих полей таблицы БД.
Перечисленные компоненты могут размещаться непосредственно на форме, на
любой панели, а могут располагаться на специальном компоненте – таблице DBGrid.
Этот компонент состоит из нескольких панелей, из которых проектируется только
первая, а остальные повторяют ее структуру, но относятся к последующим записям в
таблице. DBCtrlGrid имеет свойство DataSource, которое автоматически передается
всем расположенным на панелях компонентов, связанных с данными. Свойство
RowCount определяет число строк в таблице (по умолчанию 3), а свойство ColCount –
число колонок (по умолчанию 1). Ширину и высоту панелей DBCtrlGrid можно
задавать свойствами PanelWidth и PanelHeight соответственно, или задавая общую
ширину и высоту компонента свойствами Width и Height. В этом случае Delphi может
автоматически округлить заданные Вами значения так, чтобы обеспечить равную
ширину и высоту любой панели.
Н ЕКОТОРЫЕ
КОМПОНЕНТЫ
ВИЗУАЛИЗАЦИИ ДАННЫХ .
Размещение компонентов визуализации на отдельной форме не
вызывает никаких принципиальных сложностей. В модуле основной
формы в разделе «Implementation» ввести оператор «uses»,
ссылающийся на основную форму, чтобы получить доступ к
компоненту типа TDataSource, расположенный на главной форме.
Тогда при задании свойств DataSource компонента, расположенного
на вспомогательной форме, в выпадающем списке появится
источник данных Form1.DataSource1, который нужно выбрать. В
главной форме в раздел «Implementation» внести оператор «uses»,
ссылающийся на вспомогательную форму, чтобы в нужный момент
ее сделать видимой.
Download