Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Сортировка и фильтрация данных




Часть

Поисковые поля

Часть

7. Модифицировать таблицу в базе данных, добавив еще два поля Дата и Мобильник (файл взять у преподавателя).

8. Перенести компоненты доступа к базе в специальное окно:

· Выделить компоненты ADOConnection1, DataSource1 и BookTable и вырезать в буфер обмена (Edit /Cut)

· Выбрать в меню File/New/Other, выбрать категорию Delphi Files, выбрать Data Module, выполнить Edit/Paste

· Сохранить новый модуль под именем DataModuleUnit

9. Отобразить на экране менеджер проектов New / Project Manager

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

· Выбрать в меню File / Use Unit, выбрать в окне DataModuleUnit, Ок.

· Проверьте теперь в редакторе кода после слова Implementation появилась запись uses DataModuleUnit

· Для компонента DBGrid1 изменить свойство DataSource, выбрав DataSource1.

11. Перейти в модуль DataModuleUnit и настроить отображение данных:

· Дважды щелкнуть по BookTable, отобразиться окно для редактирования полей базы, пока оно пустое

· Щелкните в окне правой кнопкой мыши и выберите Add All Field

· Выделить поле Key1 и убрать у него видимость, перейдите на главную форму, убедитесь, что поле не отображается

· Отредактировать ширину колонок: выделить поле Фамилия, свойству DisplayWidth дать значение 15, сократите ширину для поля Имя.

· Выделите поле Дата, для свойства DisplayLabel укажите значение Дата рождения (имя поля не меняется, только подпись), для свойства DisplayFormat указать dddddd, для свойства EditMask указать маску ввода 99/99/99.

· Выделите поле Мобильник, для свойства DisplayValues указать значение Да;Нет

12. Просмотрите, как изменилось отображение данных.

13. В поле Город отображается числовое значение (номер города), а пользователю нужно показывать название города. Создадим отдельную таблицу Справочник городов в нашей базе, включив в нее поля: Key1 (счетчик, ключевое поле) и Название города (текстовое поле размер 30). Базу данных взять у преподавателя.

14. В модуль DataModuleUnit добавитькомпонент DataSource (назвать TownSource) и ADOTable (назвать TownTable), у компонента TownSource в свойстве DataSet указать TownTable.

15. Настроить отображение справочника городов:

· В свойстве Connection указать компонент ADOConnection1

· В свойстве TableName указать таблицу Справочник городов

· Для свойства Active значение True

· Дважды щелкнуть по TownTable, добавить все поля, поле Key1 сделать невидимым.

16. Создать новую форму (name – TownBookForm)для редактирования справочника, сохранить ее в модуле под именем TownBookUntil

17. Подключить к новой форме модуль DataModuleUnit, выполнив File / Use Unit, выбрать DataModuleUnit, Ок

18. Добавить на форму сетку DBGrid, в свойстве DataSource указать таблицу Справочник городовDataModule1.TownSource.

19. Доработать интерфейс формы Справочник городов:

· Добавить меню

Редактирование Назад

сохранить

добавить

удалить

· Для пункта Добавить ввести код

DataModule1.TownTable.Insert;

dbGrid1.SetFocus;

 

· Для пункта Сохранить ввести код

If DataModule1.TownTable.Modified Then

DataModule1.TownTable.Post;

 

· Для пункта Удалить ввести код

DataModule1.TownTable.Delete

20. Перейти на главную форму, создать меню:

Файл Редактирование Справочники Выход

Справочник городов

21. Для пункта Справочник городов ввести код:

TownBookForm.ShowModal;

22. Загрузить программу, вызвать Справочник городов и добавить несколько строк. Закрыть программу.

23. Для компонента DBGrid1 на главной форме для свойства Options / dgEditing установить значение False (редактирование данных запрещено).

24. В пункт меню Редактирование добавить подпункты: Добавить запись, Редактировать запись, Удалить запись

25. Создать панель с кнопками для быстрого доступа к пунктам меню

26. Создать новую форму для редактирования каждой записи, изменить свойства:

Name - EditFormUnit,

BorderStyle – bsSingle,

Position – poMainFormCenter

форму сохранить по именем EditFormUnit.

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

28. Привести форму в соответствие с образцом:

· Поля для ввода брать на вкладке Data Control.

· Чтобы компонент видел данные из нужного поля, указать у него в свойстве DataSource нужную таблицу (DataModule1.DataSource1, также как это делали с сеткой редактирования), в свойстве DataField указать поле, которое надо редактировать (самостоятельно).

· Для выбора города добавить компонент DBLookupComboBox, для свойства DataSource указать основную таблицу DataModule1.DataSource1, в свойстве DataField указать поле Город, в свойстве ListSource указать DataModule1.TownSource, свойстве ListField указать Название города, в свойстве KeyField указать поле Key1.

 

29. Для кнопки Сохранить ввести код:

If DataModule1.BookTable.Modified Then

DataModule1.BookTable.Post;

 

30. Для кнопки Отмена ввести код:

DataModule1.BookTable.Cancel

31. Перейти на главную форму и для пункта меню Добавить запись ввести код:

DataModule1.BookTable.Insert;

EditRecordForm.ShowModal;

 

32. Для пункта меню Редактировать запись ввести код:

EditRecordForm.ShowModal;

 

33. Загрузить программу, создать новую запись, в поле Город выбрав какое-нибудь значение из справочника, нажмите Сохранить. Просмотрите сетку.

34. Результат показать преподавателю

35. Для пункта меню Удалить запись ввести код:

If Application.MessageBox(PChar(‘Вы действительно хотите удалить’+DataModule1.BookTableDSDesigner.AsString), ‘Внимание!!!’, MB_OkCancel)=id_Ok then DataModule1.BookTable.Delete;


Примечание:

DataModule1 имя модуля

BookTableDSDesigner имя поля с фамилией (дважды щелкнуть по BookTable и смотреть свойство поля Фамилия, если имя отличается, скорректировать код)

AsString метод, возвращающий значение в виде строки

 

36. В сетке на главной форме город отображается в виде индекса строки в справочнике городов, исправим недостаток, для этого:

· Перейти в модуль DataModule1, выделить компонент

· Сделать его неактивным (Active False)и дважды по нему щелкнуть

· Создать новое поле: щелкнуть в окне, выбрать New Field

· В окне заполнить поля следующим образом:

Name – Town, Type – String,

FieldType – Lookup (поисковое поле),

KeyField – Город,

DataSet – TownTable (таблица, где нужно искать)

Lookup Keys - Key1 (по этому полю надо искать),

Result Field – Название города, нажать Ок

· Появилось новое поле, перетащить его ближе к полю Город

· Сделать таблицу BookTable вновь активной загрузить программу, просмотреть результат.

37. Сделать поле Город невидимым, чтобы не видеть числа, а над полем Town написать надпись Город (самостоятельно)




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


Дата добавления: 2014-10-23; Просмотров: 366; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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