| Статья :: 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, список, который будем
применять для ввода названия города проживания клиента. В качестве источника
данных для списка будем использовать таблицу.
-
Создайте дополнительную таблицу
city, содержащую одно поле Nmcity и введите в нее названия всех городов предполагаемых
клиентов фирмы.
-
Откройте в окне конструктора форму
для ввода информации о клиентах.
-
Откройте окно окружения формы,
выбрав из меню View (Вид) команду Data Environment (Окружение). Для добавления
в окружение формы таблицы с наименованиями городов выберите команду Add (Добавить)
контекстного меню. На экране откроется диалоговое окно Add Table or View (Добавить
таблицу или отображение), в котором выберите таблицу city.
-
Удалите из формы поле ввода города
покупателя, поскольку в данном примере для ввода значения города проживания
клиента будет использоваться список.
-
Нажмите кнопку List Box (Список)
на панели инструментов FormControls (Элементы управления формы).
-
Щелкните на месте удаленного поля
ввода.
-
Откройте окно Properties (Свойства)
размещенного в форме списка.
-
Чтобы связать созданное поле с
полем таблицы customer, выберите свойство controisource (Источник данных).
В поле ввода значения свойства воспользуйтесь кнопкой раскрытия списка и из
списка всех полей открытой таблицы customer выберите поле ccity.
-
Скорректируйте свойство RowSourceType
(Тип источника данных), которое указывает тип источника данных. Выберите из
списка значение Fields(Поля), поскольку список городов располагается в поле
Nmcity таблицы City.
Рис. 6.25. Использование
в форме списка
-
Скорректируйте свойство
RowSource (Источник данных списка), задав в поле ввода значения свойства city
NmCity.
-
Запустите форму на выполнение.
Теперь при редактировании списка клиентов в поле ccity таблицы customer будет
заноситься значение, выбираемое из списка (рис. 6.25).
|
|
|