Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 Практический раздел.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
5.18 Mб
Скачать

Лабораторная работа №23

Тема: Использование списочных компонентов и компонентов Memo, RichEdit, CtrlGrid

Цель работы: Изучить использование списочных компонента и компонентов Использование списочных компонентов и компонентов Memo, RichEdit, CtrlGrid для визуализации данных и полей текущей записи при разработке приложений в Delphi.

Время работы: 2 учебных часа.

Правила по ТБ: Общие.

Оборудование рабочего места: Практикум, ПК.

Программное обеспечение: Windows, MS Office, Delphi

Вопросы входного контроля:

  1. Дайте определение понятию БД.

  2. Расскажите, что вы знаете о компоненте Table, и для чего он используется.

  3. Расскажите, что вы знаете о компоненте Query, и для чего он используется.

  4. Расскажите, как подключить БД. Разными способами

  5. Расскажите, какие невизуальные компоненты доступа к БД вы знаете.

  6. Расскажите, какие визуальные компоненты доступа к БД вы знаете.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Списки поиска и поля со списком поиска (TDBLookupListBox и TDBLookupComboBox) дают пользователю возможность ограниченного выбора из списка, чтобы установить правильное значение поля. Когда пользователь выбирает элемент списка, в основном наборе данных изменяется соответствующее значение поля.

Например, рассмотрим форму заказа, поля которой привязаны OrdersTable. OrdersTable содержит поле CustNo, соответствующее идентификатору клиента, но OrdersTable не имеет никакой другой информации о клиенте. CustomersTable, с другой стороны, содержит поле CustNo, соответствующее идентификатору клиента, и также содержит дополнительную информацию, типа компании клиента и адреса электронной почты. Было бы удобно, если бы форма заказа разрешала клерку выбрать название компании клиента вместо идентификатора клиента, создавая счет. TDBLookupListBox, который отображает все названия компании в CustomersTable, разрешает пользователю выбрать название компании из списка, и установить CustNo на форме заказа соответственно.

Эти элементы управления поиска получают список отображаемых элементов одного из двух источников:

Поле поиска, определенное для набора данных.

Чтобы определить элементы списка, используя поле поиска, набор данных, с которым Вы связываете элемент управления, должен уже определять поле поиска.. Для определения поля поиска по элементам списка:

  1. Установите в свойстве DataSource списка источник данных для набора данных, содержащего поле поиска для его использования.

  2. Из раскрывающегося списка свойства DataField выберите поле поиска для использования.

Когда Вы активизируете таблицу, связанную с элементом управления поиска, элемент управления распознает, что его поле данных - поле поиска lookup и отобразит соответствующие значения из lookup.

Вторичный источник данных - поле данных и ключевое выражение.

Если Вы не определили поле поиска для набора данных, то можете установить подобные отношения, используя вторичный источник данных, значение поля, чтобы выполнять поиск во вторичном источнике данных, и значение поля, чтобы возвратить его как элемент списка. Определите вторичный источник данных для элементов списка:

  1. Установите свойство DataSource списка источника данных для элемента управления.

  2. Выберите поле для вставки искомого значения из раскрывающегося списка для свойства DataField. Поле, которое Вы выбираете, не может быть полем поиска.

  3. Установите в свойстве ListSource списка источник данных для набора данных, который содержит поле, значения которого Вы хотите найти.

  4. Из раскрывающегося списка для свойства KeyField выберите поле, которое будет использоваться как ключ поиска. Раскрывающийся список отображает поля для набора данных, связанного с источником данных, который Вы определили на Шаге 3. Поле, которое Вы выбираете, не должно быть частью индекса, но если это имеет место, то действие поиска будет еще быстрее.

  5. Выбрать поле чье значение должно возвратиться из раскрывающегося списка для свойства ListField. Раскрывающийся список отображает поля для набора данных, связанного с источником данных, который Вы определили в Шаге 3.

Когда Вы активизируете таблицу, связанную с элементом управления поиска, элемент управления распознает, что его элементы списка получены из вторичного источника, и отображает соответствующие значения из этого источника.

Чтобы определить номера элементов, которые появляются в элементе управления TDBLookupListBox, используйте свойство RowCount. Высота списка будет откорректирована, чтобы точно соответствовать этому количеству строк.

Чтобы определить номер элементов, которые появляются в раскрывающемся списке TDBLookupComboBox, используйте вместо этого свойство DropDownRows.

Примечание: Вы можете также установить столбец в сетке данных, чтобы он действовал как поле со списком поиска. Для информации относительно того, как сделать это, см. Определение столбца списка поиска.