Базы данных Visual Foxpro

         

Списки

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

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


для списка применяется свойство RowSourceType (Тип источника данных), имеющее значения, описанные в табл. 6.14.

Таблица 6.14. Значения свойства RowSourceType

Значение Источник данных
0 (None) Значения элементов списка определяются программно с помощью методов Additem (Добавить объект) или AddListltem(Добавить объект списка)
1 (Value) Список задается в виде строки, элементы в которой разделяются запятыми
2 (Alias) В качестве источника данных используется таблица. Количество выводимых полей таблицы определяется значением свойства ColumnCount (Количество полей)
3 (SQLStatement) Список содержит данные, полученные в результате выполнения SQL-оператора
4 (Query) Список содержит данные, полученные в результате выполнения указанного запроса. Запрос задается именем файла с расширением QPR
5 (Array) Источником данных является заданный массив
6 (Fields) Значения элементов списка определяются полями таблицы
7 (Files) Список содержит перечень файлов текущей папки. В свойстве RowSource (Источник данных списка) вы можете задать шаблон выбора файлов
8 (Structure) В качестве источника данных используется структура таблицы
9 (Popup) Список содержит пункты всплывающего меню

Объекты типа ListBox имеют также свойства, которые отсутствовали у ранее рассмотренных объектов (табл. 6.15).

Таблица 6.15. Свойства объектов типа ListBox, отсутствовавшие у рассмотренных ранее объектов

Свойство Назначение
ColumnCount(Количество колонок) Определяет число колонок в списке
FirstElement(Первый элемент) Задает первый элемент массива, который будет отображаться в списке
Number Of Elements(Количество элементов) Определяет количество элементов массива, отображаемых в списке
RowSource(Источник данных списка) Указывает источник данных списка

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

  1. Создайте дополнительную таблицу city, содержащую одно поле Nmcity и введите в нее названия всех городов предполагаемых клиентов фирмы.
  2. Откройте в окне конструктора форму для ввода информации о клиентах.
  3. Откройте окно окружения формы, выбрав из меню View (Вид) команду Data Environment (Окружение). Для добавления в окружение формы таблицы с наименованиями городов выберите команду Add (Добавить) контекстного меню. На экране откроется диалоговое окно Add Table or View (Добавить таблицу или отображение), в котором выберите таблицу city.
  4. Удалите из формы поле ввода города покупателя, поскольку в данном примере для ввода значения города проживания клиента будет использоваться список.
  5. Нажмите кнопку List Box (Список) на панели инструментов FormControls (Элементы управления формы).
  6. Щелкните на месте удаленного поля ввода.
  7. Откройте окно Properties (Свойства) размещенного в форме списка.
  8. Чтобы связать созданное поле с полем таблицы customer, выберите свойство controisource (Источник данных). В поле ввода значения свойства воспользуйтесь кнопкой раскрытия списка и из списка всех полей открытой таблицы customer выберите поле ccity.
  9. Скорректируйте свойство RowSourceType (Тип источника данных), которое указывает тип источника данных. Выберите из списка значение Fields(Поля), поскольку список городов располагается в поле Nmcity таблицы City.

Рис. 6.25. Использование в форме списка

  1. Скорректируйте свойство RowSource (Источник данных списка), задав в поле ввода значения свойства city NmCity.
  2. Запустите форму на выполнение. Теперь при редактировании списка клиентов в поле ccity таблицы customer будет заноситься значение, выбираемое из списка (рис. 6.25).

 

Содержание раздела