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

         

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

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


Создание списка рассмотрим на примере редактирования поля, содержащего город, для таблицы Customer. Для создания формы:

  1. Откройте форму для ввода списка клиентов в окне конструктора форм.
  2. Нажмите кнопку List Box (Список) на панели инструментов Form Controls (Элементы управления формы).
  3. Установите указатель мыши на место предполагаемого расположения поля и, удерживая кнопку мыши в нажатом состоянии, переместите курсор по диагонали так, чтобы получилась рамка требуемого размера для поля списка.
  4. Откройте окно свойств для размещенного в форме списка.
  5. Скорректируйте свойство Name (Имя) созданного объекта, присвоив ему имя IstCity.
  6. Чтобы связать созданное поле с полем таблицы customer, выберите свойство controisource (Источник данных). В поле ввода значения свойства воспользуйтесь кнопкой раскрытия списка и из списка всех полей открытой таблицы Customer выберите поле ccity.
  7. Скорректируйте свойство RowSourceType (Тип источника данных), которое указывает тип источника данных. Выберите из списка значение Value (Значение), поскольку список городов будет формироваться с помощью вводимых значений.
  8. Используя кнопку Text Box (Поле ввода) на панели инструментов Form Controls (Элементы управления формы), создайте под списком поле редактирования.
  9. Скорректируйте свойство Name (Имя) поля редактирования, присвоив ему имя txtAddText.
  10. Используя окно процедур свойства Keypress (Нажатие клавиши), введите в нем следующие команды:

LPARAMETERS nKeyCode, nShiftCtrlAlt

IF nKeyCode = 13 && 13 код клавиши <Enter>

IF 1EMPTY(THIS,Value)

* добавляем значение в список

THISFORM.lstCity.Addltem (THIS.Value}

ENDIF

* очищаем поле ввода

THIS.Value = ""

ENDIF

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

Рис. 15.26. Определение свойства KeyPress

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

Рис. 15.27. Формирование списка с помощью поля ввода в диалоговом режиме

 

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