КАТЕГОРИИ: Архитектура-(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 (оно принято по умолчанию), то можно дополнительно установить свойство столбца 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; Просмотров: 659; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |