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

В прошлом примере все трудится замечательно, лишь вот поле Key пользователю видеть полностью ненужно. Это поле — счетчик, и его значение возрастает машинально. А раз пользователь не имеет возможности оказывать влияние на значения этого поля и оно не несет для него нужной информации, то и отображать это поле не нужно. Дабы запрятать от пользователя ненужные поля и показывать лишь то, что мы желаем, и в том виде, в котором желаем, нужно обучиться руководить отображением данных. Но перед тем как приступить к изучению этого вопроса, давайте создадим в отечественной базе еще два поля мобильник и Дата. Загрузите базу данных в Access, щелкните по ней правой кнопкой мыши и в появив- шемся меню выберите Конструктор.Потом, в режиме конструктора нужно выполнить последовательность действий.

1. Добавьте поле с именем Дата и типом — Дата / время.

2. Добавьте поле с именем мобильник и типом — логический. В случае если в строчке находится номер сотового телефона, то в этом поле будем ставить true, в противном случае false.

Закройте таблицу.

Сейчас перейдем в Delphi и попытаемся отобразить трансформации в уже созданном примере.

Для начала давайте перенесем компоненты доступа к базе данных в отдельное особое окно. Выделите компоненты ADOConnectioni, DataSourcel и BookTabie. Сейчас выберите из меню Editпункт Cut,дабы эти компоненты скопировались в буфер обмена и сходу удалились с формы. Выберите меню File | New | Data Module.Этим вы вынудите Delphi создать особое окно Data Module,которое подходит для хранения компонентов доступа к базам данных.

Выберите из меню Edit пункт Paste,дабы засунуть в это окно вырезанные нами компоненты. Расположите сейчас эти компоненты в окне так, как вам, будет комфортно (к примеру, как продемонстрировано на рис. 14.8).

Сейчас все компоненты, каковые предназначены для организации доступа к базе данных, будем располагать в этом окне, дабы с ними комфортно было трудиться. Сохраните новый модуль под именем DataModuieUnit.

Откройте Менеджер проектов (в меню Projectнадо выбрать Project Manager)и расположите это окно так, дабы вам было комфортно в любую секунду взять к нему доступ (рис. 14.9). Сейчас, в то время, когда потребуется перейти из основной формы в модуль данных DataModuie либо обратно, вы легко имеете возможность это сделать посредством Менеджера проектов, два раза щелкнув кнопкой мыши по нужной форме.

/ DataModulelига 13

ADOConnectiorrt DataSourcel

BookTable

Рис. 14.8.Окно DataModule

Project Manager

I Telephone X

New Remove

Files Path

3|j ProjectGroup! ЕЛРгодгагл FilesBodandDelphi7SPtoiects

Ё!-|р Telephon.exeРЛСуОВсиЖБиблияОе1рЫПримерыУлаеа 14

ffi §j] MainUnit РЛСуОВооКБиблияОе1рЫПрнмерыГлава14

Я ‘ID }iCTI!FFH!|ll’:’tr»r»P»»»c»^» Ое1рИ1ПримерыГлаеа 14

Рис. 14.9.Менеджер проектов

Если вы хоть раз уже открывали какую-то форму из Менеджера проектов и не закрывали, то ее возможно обнаружить вкладках в окне редактора кода, как это продемонстрировано на рис. 14.10.

Внимание

Переключаться между визуальной ее кодом и формой весьма комфортно несложным нажатием клавиши .

На этом инструкции по работе с оболочкой заканчиваются.

Перейдите в основную форму, и вы сходу заметите, что в отечественной сетке DBGridi нет данных. Из-за чего? Да вследствие того что она утратила сообщение с компонентами доступа к данным. Выделите сетку и щелкните кнопкой мыши по свойству DataSource. Вы заметите, что в выпадающем перечне ничего нет. Это по причине того, что все необходимые компоненты мы убрали в, отдельную форму и основная форма до тех пор пока об этом не знает.

i »4 TDalaModulet „^. _…

i Cj »..;.Ч(..;г~п—‘-‘-;Н1ш1Е

! Q Uses

^interface

Iuses

SysUtils, Classes, DB, ADODB;

| type

,! TDataHodulel = class(TDataHodule)

I ADOConnectionl: TADOConnection;

DataSourcel: TDataSource;

BookTable: TADOTable;

i BookTableKeyl: TAutoIncField;

I BookTableDSDesigner: THideStriugField;

BookTableDSDesigner2: TWideStringField;

BookTableDSDesignerS: TWideStringField;

BookTableemail: TUideStringField;

BookTableDSDesignei:4: TIntegerField;

BookTableDSDesigner5: TDateTlmeField;

BookTatoleDSDesigner6: TBooleanField;

Private

{ Private

Public

1: 1

Рис. 14.10.Вкладки форм в редакторе кода

Дабы форма определила о существовании компонентов, ей необходимо выяснить в разделе uses модуль DataModuleUnit. Это возможно сделать вручную либо выбрать из меню Fileпункт Use Unit(сейчас должно быть выделено окно кода основной формы, по причине того, что мы подключаем новый модуль как раз к ней). В показавшемся окне необходимо выбрать имя нового модуля — DataModuleUnit (до тех пор пока оно одно в перечне) и надавить ОК.

Удостоверьтесь в надежности сейчас в редакторе кода, дабы по окончании главного слова implementation Показалась ЗЭПИСЬ— uses DataModuleUnit;:

implementation

uses DataModuleUnit;

{$R *.dfm}

Вот сейчас возможно выделять сетку DBGridl и в свойстве Datasource указать компонент Datasource, эти которого должны быть отображены в сетке (DataModulel.DataSourcel).

Сейчас перейдем в модуль DataModuie и постараемся настроить отображение данных. Два раза щелкните мышью по компоненту вооКТаЫе, и перед вами покажется окно редактирования полей базы данных (рис. 14.11).

Keyl

Фамилия

Имя

Телефон

e-mail

Город

Дзга

Мобильник.

Рис. 14.11.Окно редактирования

полей базы данных

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

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

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

Продолжим формирование базы данных. Первое, что мы должны сделать, — убрать видимость счетчика (поле Key). Ранее уже договорились, что пользователю оно не требуется, и он не должен его видеть. Выделите это свойство и в объектном инспекторе установите в свойстве visible значение false (это свойство имеется у всех полей). Сразу же имеете возможность перейти в основную форму либо запустить программу, дабы убедиться в том, что поле Keyi больше не отображается.

Сейчас отредактируем длину отображения колонок. Для этого выделите поле Фамилия. В базе данных мы выделили под это поле 50 знаков (на всякий случай). В сетке ширина колонки будет отображаться по умолчанию на всю длину. Но значительно чаще фамилии не превышают 15 знаков, исходя из этого ненужно отображать всю длину. Намного эргономичнее отображать лишь 15 знаков, а вдруг что-то не поместится, то пользователь программы в любую секунду сможет раздвинуть колонку и заметить недостающие знаки. За ширину колонки отвечает свойство DispiayWidth (это свойство имеется у всех полей). По умолчанию в нем стоит значение физической ширины поля, но мы укажем в том месте 15. Снова же, на саму базу данных это не воздействует, и поле все еще имеет размер 50, но ширина отображаемой колонки в сетке б^ цет 15. Совершенно верно так же сократите ширину поля имя.

Разглядим еще пара особенностей полей.

— DefauitExpression — тут возможно покинуть значение по умолчанию.

В будущем, в то время, когда будут создаваться новые строчка, то в поля будут сходу заноситься указанные тут значения.

— Maxvalue — максимально допустимое значение. В случае если это числовое поле, и оно должно изменяться в определенных рамках (к примеру, от 0 до 100), то нужно указать эти ограничения тут, дабы сократить возможность опечатки пользователя. Все люди склонны к неточностям, так пускай программа машинально уменьшает возможность таких неточностей.

— MinValue — минимально допустимое значение.

— Readonly — поле лишь для чтения. В случае если какое-то поле не должно изменяться, установите у него в свойстве Readonly значение true. В этом случае вы обезопасите программу от случайного трансформации данного поля пользователем.

— Required — в случае если тут true, то поле есть необходимым и в обязательном порядке должно иметь какое-то значение. В случае если пользователь ничего не укажет, то программа скажет об этом. Допустим, что какое-то поле у вас участвует в расчетах. В случае если в этом поле не окажется данных, то программа может зависнуть. Имеется два пути ответа данной задачи. Первый путь — при расчете контролировать наличие в поле разрешённых или требовать, дабы пользователь в обязательном порядке что-то ввел. Второй путь предпочтительней, в случае если это поле вправду ответственное. В этом случае представьте запись в телефонном справочнике без телефона. Спрашивается, для чего тогда нужна эта запись, если не указан телефон? Так поле для номера телефона возможно делать необходимым.

— Tag — легко числовое значение, которое возможно применять по собственному усмотрению.

Совокупность управленческого учёта малого бизнеса, сделанная на базе Форм и Таблиц Гугл

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector