Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Управление отображением данных ⇐ ПредыдущаяСтр 2 из 2
Цель: научиться управлять отображением данных из базы в приложении пользователя (скрывать ненужные поля, отображать на экране лишь данные, необходимые пользователю и в удобном для пользователя виде).
В предыдущем примере все работает хорошо, только вот поле ID_справочника пользователю видеть абсолютно не нужно. Это поле – счетчик, и его значение увеличивается автоматически. А раз пользователь не может влиять на значение этого поля и оно не несет для него полезной информации, то и отображать это поле не надо. Создайте в таблице Справочник нашей базы еще два поля Дата (тип Дата/Время) и Мобильник (тип Логический, если в строке номер мобильного, то будем ставить в этом поле true, иначе false). Закройте таблицу. Теперь перейдем в Delphi и попробуем отобразить изменения в уже созданном примере. Для начала перенесем компоненты доступа к базе данных в отдельное специальное окно:
Откройте Менеджер проекта (Project | Project Manager) и расположите это окно так, чтобы вам было удобно в любой момент получить к нему доступ. Перейдите в главную форму, вы сразу увидите, что в нашей сетке DBGrid1 нет данных, потому что она потеряла связь с компонентами доступа к данным. Выделите сетку и щелкните мышью по свойству DataSource, в выпадающем списке ничего нет. Чтобы форма узнала о существовании компонентов, ей нужно определить в разделе uses модуль DataModuleUnit. Для этого выбрать File | Use Unit | DataModuleUnit | Ok (в этот момент должна быть активна главная форма проекта). Теперь в редакторе кода после слова implementation появилась запись uses DataModuleUnit;. Теперь выделите сетку DBGrid1 и в свойстве DataSource укажите компонент, данные которого должны быть отображены в сетке (DataModule1. DataSource1). Теперь перейдем в модуль DataModule и попытаемся настроить отображение данных. Дважды щелкните по компоненту ADOTable1, перед вами появится окно редактирования полей базы данных.
Пока оно пустое. В него нужно добавить все поля таблицы Справочник. Для этого щелкните по нему правой кнопкой мыши и в появившемся меню выберите пункт Добавить все поля (Add All Field). Поля можно перемещать мышью, при этом их положение в БД не меняется. Также можно выделять отдельные поля и в Инспекторе объектов редактировать их свойства, свойства у полей могут быть разные в зависимости от типа поля.
Первое, что мы должны сделать – убрать видимость счетчика (поле ID_справочник). Пользователю его не нужно видеть. Выделите это поле и установите в свойстве Visible значение False. Сразу же можете перейти в главную форму или запустить программу, чтобы убедиться в том, что поле ID_справочник больше не отображается. Теперь отредактируем ширину отображения колонок. Выделите поле Фамилия. В БД мы выделили под это поле 50 символов. В сетке по умолчанию будет отображаться вся ширина. Но чаще фамилия не превышает 15 символов. За ширину колонки отвечает свойство DisplayWidth, по умолчанию в нем стоит значение физической ширины поля, но мы укажем там 15. Опять же на саму БД это не влияет. Точно так же сократите ширину поля Имя. Запустите программу и заполните поле Дата любыми значениями и для всех записей, при заполнении будьте внимательны и указывайте реальные даты. Выделите поле Дата. Мы будем здесь указывать дату рождения владельца телефона. Поэтому разумно в заголовке сетки отображать Дата рождения. За текст, отображаемый в заголовке, отвечает свойство DisplayLabel. Введите в нем текст «Дата рождения». Можете проверить, теперь в сетке отображается нужный заголовок. Отредактируем формат отображения даты. За это отвечает свойство DisplayFormat. Здесь можно указывать текстовый формат, в котором нужно отображать дату. Удобно использовать для отображения даты полный формат – “ dddddd ”. Нужно указать маску ввода для даты. Ее нужно указывать в свойстве EditMask. Желательно всегда указывать маску – 99/99/9999. Запустите приложение, все даты рождения отображаются теперь в полном формате. Если дважды щелкнуть по любой дате, то дата сразу перейдет в режим редактирования.
Отредактируем поле Мобильник. Пока что здесь отображаются значения true или false. Но для нас удобнее будет видеть Да или Нет. Выделите это поле и найдите его свойство DisplayValues. Здесь нужно указать положительное значение и после точки с запятой отрицательное. Таким образом указываем Да; Нет. Запустите приложение, убедитесь в том, что установленные настройки применились для отображения таблицы Справочник.
Контрольные вопросы:
|