Управление отображением данных.

      Комментарии к записи Управление отображением данных. отключены

Удалим из предыдущего примера поле Key, которое пользователю видеть не нужно. Это поле – счетчик, и его значение увеличивается автоматически. А раз пользователь не может влиять на значения этого поля, и оно не несет для него полезной информации, то и отображать это поле не надо.

Чтобы спрятать от пользователя ненужные поля и показывать только то, что нужно и в том виде, в котором нам нужно, необходимо научиться управлять отображением данных. Сначала создайте в нашей базе (в MS Access) еще два поля Дата и Мобильник. Для этого загрузите базу данных в MS Access, щелкните по ней правой кнопкой мыши и в появившемся меню выберите Конструктор.

Далее, в режиме конструктора необходимо выполнить следующие действия:

  1. Добавьте поле с именем Дата и типом Дата/время.
  2. Добавьте поле с именем Мобильник и типом Логический.Если в строке находится номер мобильного телефона, то в этом поле будемставить true, иначе false.
  3. Закройте таблицу.

Теперь перейдем в Delphi и попробуем отобразить изменения в уже созданном примере.

  1. Для начала перенесем компоненты доступа к базеданных в отдельное специальное окно. Выделите компоненты ADOConnection1, DataSource1 и BookTable. Теперь выберите из меню Edit пунктCut, чтобы этикомпоненты скопировались в буфер обмена и сразу удалились с формы.
  2. Выберите меню File – New – Data Module. Этимвы заставите Delphi создать специальное окно Data Module, котороеподходит для хранения компонентов доступа к данным.
  3. Выберите из меню Editпункт Paste, чтобы вставить в этоокно вырезанные нами компоненты. Расположите их так, как вам удобно.

<p>

  1. Откройте Менеджерпроектов (меню View – Project Manager)и расположите это окно так, чтобы вам было удобно в любой момент получитьк нему доступ. Теперь, когда потребуется перейти из главной формы в модульданных DataModule или обратно, выможете это легко сделать с помощью Менеджерапроектов, дважды щелкнув мышью по нужной форме.
  2. Перейдите в главную форму, и вы сразу увидите, чтов нашей сетке DBGrid1 нет данных. Это потому,что она потеряла связь с компонентами доступа к данным. Выделите сетку ищелкните мышью по свойству DataSource. Выувидите, что в выпадающем списке ничего нет. Это потому, что все нужныекомпоненты мы убрали в отдельную форму и главная форма пока об этом незнает. Чтобы форма узнала о существовании компонентов, ей нужно определитьв разделе Uses модуль DataModuleUnit. Это можно сделать вручную или выбрать изменю File пункт Use Unit (в этот моментдолжно быть выделено окно главной формы, так как мы подключаем новыймодуль именно к ней). В появившемся окне нужно выбрать имя нового модуля –DataModuleUnit(пока оно одно в списке) и нажать ОК.
  3. Теперь можно выделять сетку DBGrid и в свойстве DataSource указать компонент DataSource, данныекоторого должны быть отображены в сетке (DataModule1.DataSource1).
  4. Теперь перейдем в модуль DataModuleи настроим отображение данных. Дважды щелкните мышью по компоненту BookTable, и перед вамипоявится окно редактирования полей базы данных.

  1. Пока оно пустое. В него нужно добавить все полябазы данных. Для этого щелкните по нему правой кнопкой мыши и впоявившемся меню выберите пункт Добавитьвсе поля(Add All Field).Окно автоматически заполнится именами полей.

Поля можно переставлять местами, двигая их мышью. При этом физическое положение их в базе не изменится. Однако при отображении данных в сетке они будут отображаться в том порядке, в котором выстроены. Таким образом вы можете изменить порядок отображения данных, не обращаясь к самой БД.

Также можно выделять отдельные поля и в объектном инспекторе редактировать их свойства. Свойства и полей могут быть разные в зависимости от типа поля.

Статьи к прочтению:

05 — Sailfish OS. Работа с наборами данных: отображение, хранение, получение


Похожие статьи: