Списки
Visual FoxPro позволяет использовать разные объекты для отображения в форме одного и того же поля. Например, в предыдущем примере для ввода информации в поле, указывающее страну проживания, мы использовали переключатель. Если вводимых в поле значений много, удобно использовать списки, называемые объектами типа ListBox (Список).
Списки в Visual FoxPro используются для отображения в форме элементов, которые могут быть заданы с помощью массива, меню, списка файлов, значений поля таблицы и т. д. С целью указания источника данных для списка используется свойство RowSourceType (Тип источника данных), имеющее значения, описанные в табл. 6.14.
Таблица 6.14. Значения свойства RowSourceType
| Значение | Источник данных | ||
| 0 - None | Значения элементов списка определяются программно с помощью методов Additem (Добавить объект) или AddListltem (Добавить объект списка) | ||
| 1 - Value | Список задается в виде строки, элементы в которой разделяются запятыми | ||
| 2 - Alias | В качестве источника данных используется таблица. Количество выводимых полей таблицы определяется значением свойства ColumnCount (Количество полей) | ||
| 3 - SQL Statement) | Список содержит данные, полученные в результате выполнения SQL-оператора | ||
| 4 - Query (.QPR) | Список содержит данные, полученные в результате выполнения указанного запроса. Запрос задается именем файла с расширением .QPR | ||
| 5 - Array | Источником данных является заданный массив | ||
| 6 - Fields | Значения элементов списка определяются полями таблицы | ||
| 7 - Files | Список содержит перечень файлов текущей папки. В свойстве RowSource (Источник данных списка) вы можете задать шаблон выбора файлов | ||
| 8 - Structure | В качестве источника данных используется структура таблицы | ||
| 9 - Popup | Список содержит пункты всплывающего меню |
Объекты типа ListBox имеют также свойства, которые отсутствовали у ранее рассмотренных объектов (табл. 6.15).
Таблица 6.15. Свойства объектов типа ListBox, отсутствовавшие у рассмотренных ранее объектов
| Свойство | Назначение | ||
| ColumnCount (Количество колонок) | Определяет число колонок в списке | ||
| FirstElement (Первый элемент) | Задает первый элемент массива, который будет отображаться в списке | ||
| NumberOfElements (Количество элементов) | Определяет количество элементов массива, отображаемых в списке | ||
| RowSource (Источник данных списка) | Указывает источник данных списка |
Разместим в форме, предназначенной для редактирования списка клиентов из таблицы customer, список, который будем использовать для ввода названия города проживания клиента. В качестве источника данных для списка будем использовать таблицу.


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