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

7. Применение списков для ввода и редактирования данных

7.1. Списки

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

Visual FoxPro позволяет использовать разные объекты для отображения в форме одного и того же поля. Если вводимых в поле значений много, удобно применять списки, т. е. объекты типа ListBox (Список).

Для указания источника данных списка используется свойство RowSourceType (Тип источника данных), содержащее следующие значения:

Таблица 5

Значение

Источник данных

0 (None)

Значения элементов списка определяются программно с помо­щью методов AddItem (Добавить объект) или AddListItem (Добавить объект списка)

1 (Value)

Список задается в виде строки, элементы в которой разделяются запятыми

2 (Alias)

В качестве источника данных используется таблица. Количество выводимых полей таблицы определяется значением свойства ColumnCount

3 (SQL Statement)

Список содержит данные, полученные в результате выполнения SQL оператора

4 (Query)

Список содержит данные, полученные в результате выполнения указанного запроса. Запрос задается именем файла с расшире­нием .OPR

5 (Array)

Источником данных является заданный массив

6 (Fields)

Значения элементов списка определяются полями таблицы

7 (Fields)

Список содержит перечень файлов текущей папки. В свойстве RowSource вы можете задать шаблон выбора файлов

8 (Structure)

В качестве источника данных используется структура таблицы

9 (Popup)

Список содержит пункты всплывающего меню

Объекты типа ListBox имеют дополнительные свойства, которые отсутство­вали у ранее рассмотренных объектов:

Таблица 6

Свойство

Назначение

ColumnCount

Определяет число колонок в списке

FirstElement

Задает первый элемент массива, который будет отобра­жаться в списке

NumberOfElements

Определяет количество элементов массива, отображаемых в списке

RowSourse

Указывает источник данных списка

Разместим в форме, предназначенной для редактирования списка клиентов из таблицы DoctorTab, список, который будем использовать для ввода специализации врача. В качестве источника данных для спи­ска будем использовать таблицу.

  1. Удалите из формы поле ввода специализации врача, поскольку в данном примере для ввода специализации врача будет использоваться список.

  2. Нажмите кнопку List Box (Список) на панели инструментов Form Controls.

  3. Щелкните на месте удаленного поля ввода.

  4. Откройте окно Properties (Свойства) размещенного в форме списка.

  5. Чтобы связать созданное поле с полем таблицы DoctorTab, выберите свойство ControlSource (Источник данных). В поле ввода значения свойства воспользуйтесь кнопкой раскрытия списка и из списка всех полей открытой таблицы DoctorTab выберите поле SpecDc.

  6. Скорректируйте свойство RowSourceType, которое указывает тип источника данных. Выберите из списка значение Fields (Поля), поскольку список специализаций располагается в поле SpecDc таблицы DoctorTab.

  7. Скорректируйте свойство RowSource (Источник данных списка), задав в поле ввода значения свойства doctortab. specdc.

  8. Запустите форму на выполнение. Теперь при редактировании списка специализации врачей в поле SpecDc таблицы DoctorTab будет заноситься значение, выбираемое из списка (рис.10).

Р ис. 10. Вывод специализации врача из списка