Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Некоторые компоненты визуализации и управления данными




 

В рассмотренных ранее приложениях в качестве компонента визуализации и управления данными использовался DBGrid. Но ещене со всеми свойствами этого компонента мы ознакомились. В том виде, как мы его применяли, пользователю неудобно вводить многие данные. Например, в единицах измерения товара пользователь должен каждый раз вводить либо «т.», либо «шт.» и т.д. Этот недостаток можно устранить, если воспользоваться свойством Columns компонента DBGrid. Это свойство представляет собой набор объектов, каждый из которых отражает один столбец таблицы. Пока мы использовали столбцы, формируемые по умолчанию. Попробуем теперь сформировать их, используя свойство Columns.

Щелкните правее этого свойства в Инспекторе Объектов. На экране появится пустое окно Редактора Столбцов (рис. 2.4.). Вы можете добавлять столбцы по од­ному, щелкая на быстрой кнопке Add (первая слева) и указывая для них в Инспек­торе Объектов соответствующие поля в свойстве FieldName. To же самое можно де­лать, щелкая правой кнопкой мыши и выбирая в контекстном меню раздел Add. A можно поступить иначе: выбрать из контекстного меню раздел Add All Fields или щелкнуть на соответствующей быстрой кнопке (вторая справа). В окне Редактора Столбцов появится список столбцов всех полей, которые добавлены вами в Редак­торе Полей компонента Table. Затем кнопкой Delete (вторая слева) вы можете уда­лить столбцы, ненужные в таблице.

 

Рис. 2.4. Главное окно редактора столбцов

 

Выделите в Редакторе Полей столбец, связанный с полем Edenica, и посмотрите его свойства в Инспекторе Объектов. Среди многих достаточно очевидных свойств столбца, Вы увидите свойство ButtonStyle. Оно определяет стиль ввода данных в поле текущей записи. Свойство ButtonStyle может принимать значения, указанные в табл. 1.

Таблица 1

Значения свойства ButtonStyle

cbsAuto Появление при редактировании кнопки, связанной с выпадающим списком допустимых значений
cbsEllips Появление при редактировании кнопки с многоточием «...» при щелчке на которой наступает событие OnEditButtonClick компонента DBGrid (см. рис. 2.5)
cbsNone Обычное редактирование без каких-либо кнопок

 

Если установить значение cbsAuto (оно принято по умолчанию), то можно дополнительно установить свойство столбца PickList, которое представляет список допустимых значений поля. В нашем примере для столбца Edenica можно занести в список PickList значения «шт.», «т.» и «кг.». Тогда при попытке пользователя редактировать данное поле в соответствующей ячейке таблицы появится кнопка, связанная с выпадающим списком, содержащим допустимые значения (рис. 2.6).

Аналогично происходит редактирование, если значение cbsAuto относится к столбцу, содержащему поле просмотра. Тогда выпадающий список заполняется автоматически. Если же данное поле не является результирующим полем просмотра, и список PickList не заполнен, то никакой кнопки в при редактировании не появится.

Если значение свойства ButtonStyle равно cbsNone, то редактирование поля производится без каких-либо подсказок в виде кнопок.

Компонент DBGrid — удобный, но далеко не единственный и не всегда лучший компонент визуализации. Форма представления данных в нем не всегда удобная: слишком регулярная, без разделителей, не акцентирующая внимание пользователя на каких-то группах полей. Имеется много других компонентов визуализации и управления данными, расположенными на странице Data Control библиотеки компонентов, которые нередко предпочтительнее DBGrid.

 

Рис. 2.5. Ячейка поля Edinica при ButtonStyle= cbsEllips

 

Отметим некоторые из этих компонентов.

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

 

Рис. 2.6. Ячейка поля Edinica при ButtonStyle= cbsAuto

 

DBEdit — связанный с данными аналог обычного окна редактирования Edit. Он позволяет отображать и редактировать данные полей различных типов: строка, число, булевская величина. Впрочем, если задать в компоненте Readonly=true, он, как и DBText, будет служить элементом отображения, но несколько более изящным, чем DBText.

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

DBRichEdit— связанный с данными аналог обычного многострочного окна редактирования текста в обогащенном формате RTF. Область применения та же, что и для компонента DBMemo.

DBlmage — связанный с данными аналог обычного компонента Image. Компонент позволяет отображать графические поля.

DBCheckBox — связанный с данными аналог обычного индикатора CheckBox. Он позволяет отображать и редактировать данные поля булевского типа. Если при вводе данных поле имеет значение true, то индикатор включается. И наоборот, при редактировании поля присваиваемое ему значение определяется состоянием индикатора. Кстати, это еще один способ обеспечить пользователю безошибочный ввод значений в булевское поле, помимо рассмотренного выше задания списка воз­можных значений в DBGrid.

DBRadioGroup — связанный с данными аналог группы радиокнопок RadioGroup. Компонент позволяет отображать и редактировать поля с ограниченным множеством возможных значений. Свойство Items, как и в обычной группе радиокнопок, определяет число кнопок и надписи около них. Но есть еще свойство Values, которое определяет значения полей, соответствующие кнопкам. Таким образом, надписи у кнопок и значения полей в общем случае могут не совпадать друг с другом. Если свойство Values не задано, то в качестве значений полей берутся строки из свойст­ва Items, т.е. надписи около кнопок. Компонент DBRadioGroup предоставляет еще одну возможность ввода пользователем данных путем выбора, а не написанием полного значения поля.

Есть еще несколько компонентов визуализации и управления данными, кото­рые мы рассмотрим несколько позднее. Все перечисленные компоненты имеют два основных свойства: DataSource — источник данных (компонент типа TDataSourсе) и DataField — поле, с которым связан компонент.

Характерной особенностью всех этих компонентов, отличающей их от несвя­занных с данными аналогичных компонентов, является отсутствие в окне Инспек­тора Объектов их основных свойств, отображающих содержание: Caption в DBText, Text в DBEdit, Picture в DBImage и т.п. Все эти свойства имеются в ком­понентах, но они доступны только во время выполнения. Так что программно их можно читать, редактировать, устанавливать, но во время проектирования задать их значения невозможно. Это естественно, так как эти свойства — это значения со­ответствующих полей таблицы базы данных.

 




Поделиться с друзьями:


Дата добавления: 2015-03-29; Просмотров: 625; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.