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. Использование в форме списка