Вы можете обеспечить интерактивное Добавление Элементов в Списки.

Для обеспечения интерактивного добавления элементов в Список:

  • Рекомендуется использовать метод Контрола AddItem.

В представленном далее примере, когда пользоыватель нажимает клавишу ENTER, при активном Контроле TextBox,  в соответствующем программном Коде События KeyPress данного Контрола, рекомендуется разместить Код, который добавляет новый элемент в Список, и стирает добавленное значение в текстовом поле:

 CopyCode imageКопировать Код
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode = 13 && Enter Key
THISFORM.lstAdd.AddItem(This.Value)
THIS.Value = ""
ENDIF

Вы можете обеспечить возможность ввода данных из Списка в некоторую Таблицу. Если значение свойства ControlSource установлено на некоторое Поле, пользователь может выбирать требуемые Значения из имеющихся вариантов, которые уже сохранены в Списке. Описанный подход обеспечивает простейший механизм контроля ввода данных в новые Записи Таблицы (из имеющихся вариантов). Когда пользователь вводит в список новое значение, которое неприемлемо, по каким-либо причинам, оно может быть отвергнуто. Смотрите Программный код выше, где можно добавить контролирующий программный Код.

Например, если у вас имеется фиксированный список Регионов или Национальностей, из которых может выбирать пользователь, то выбор неверного значения для Поля новой Записи исключен.

Для реализации описанной выше Технологии "выборочного ввода" информации для новых или корректировки уже имеющихся Записей Таблицы, когда значение некоторого поля Таблицы выбирается из фиксированного Списка, можно использовать несколько вариантов построения указанных Списков. Например, для определения имени Клиента из общего списка Клиентов. Когда пользователь выбирает из списка требуемого Клиента, данная информация загружается в соответствующее текстовое поле и отображается на Форме. Для реализации вышеупомянутых Списков можно использовать несколько возможных вариантов.

RowSourceType Выборка соответствующих Записей Таблиц

2 - Алиас,

6 - Поле

Когда пользователь выбирает новое значение из представленного Списка, указатель Записи автоматически перемещается на соответствующую Запись в таблице. При выполнении метода THISFORM.Refresh в Коде События InteractiveChange обновляются текущие значения Контролов на Форме.

0 - Отсутствует,

1 - Значение,

3 - опер-р SQL,

4 - Запрос QPR,

5 - Массив

В программном Коде события InteractiveChange, выбирается соответствующая Таблица, выполняется Поиск требуемого значения. Например, если свойство RowSource содержит идентификатор Клиента из таблицы Customer, рекомендуется использовать следующий Код:

 CopyCode imageКопировать Код
SELECT customer
LOCATE FOR THIS.Value = cust_id
THISFORM.Refresh

См. также