Иллюстрированный самоучитель по Visual FoxPro 8

Добавление данных в список

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

Создание списка рассмотрим на примере редактирования поля, содержащего город, для таблицы customer. Выполните следующие действия:

  1. Откройте форму для ввода списка клиентов в окне конструктора форм.
  2. Нажмите кнопку List Box (Список) Иллюстрированный самоучитель по Visual FoxPro 8 › Расширенные средства ввода данных › Добавление данных в список на панели инструментов Form Controls (Элементы управления формы).
  3. Установите указатель мыши на место предполагаемого расположения поля и, удерживая кнопку мыши в нажатом состоянии, переместите курсор по диагонали так, чтобы получилась рамка требуемого размера для поля списка.
  4. Откройте окно свойств для размещенного в форме списка.
  5. Скорректируйте свойство Name (Имя) созданного объекта, присвоив ему имя lstcity.
  6. Чтобы связать созданное поле с полем таблицы customer, выберите свойство controisource (Источник данных). В поле ввода значения свойства воспользуйтесь кнопкой раскрытия списка и из списка всех полей открытой таблицы Customer выберите поле ccity.
  7. Скорректируйте свойство RowSourceType (Тип источника данных), которое указывает тип источника данных. Выберите из списка значение Value (Значение), поскольку список городов будет формироваться с помощью вводимых значений.
  8. Используя кнопку Text Box (Поле ввода) Иллюстрированный самоучитель по Visual FoxPro 8 › Расширенные средства ввода данных › Добавление данных в список на панели инструментов Form Controls (Элементы управления формы), создайте под списком поле редактирования.
  9. Скорректируйте свойство Name (Имя) поля редактирования, присвоив ему имя txtAddText.
  10. Используя окно процедур свойства Keypress (Нажатие клавиши), введите в нем следующие команды:
LPARAMETERS nKeyCode, nSHIFTCTRLALT
IF nKeyCode = 13 && 13 к:л:-:-ав1си Enter
IF!EMPTY(THIS.Value)
* добавляем значен;;" в список THISFORM.lstCity.Addltem (THIS.Value)
ENDIF * очищаем поле ввода
THIS.Value = "" ENDIF

Эта процедура позволит пользователю ввести текст в поле ввода и нажатием клавиши Enter добавить значение в список, освободив окно для ввода следующей информации (рис. 15.27).

Иллюстрированный самоучитель по Visual FoxPro 8 › Расширенные средства ввода данных › Добавление данных в список
Рис. 15.27. Определение свойства KeyPress

Теперь при запуске формы на выполнение значения, введенные в поле ввода Поле формирования списка, при нажатии клавиши Enter переносятся в список городов (рис. 15.28).

Иллюстрированный самоучитель по Visual FoxPro 8 › Расширенные средства ввода данных › Добавление данных в список
Рис. 15.28. Формирование списка с помощью поля ввода в диалоговом режиме

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.