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

Если вы не устанавливаете значения для свойства ControlSource, то значение, которое пользователь вводит или выбирает, хранится как значение свойства. Значение не зрписывается на диск и сохраняется в памяти только на время жизни самого управляющего элемента.

Воздействие установки свойства ControlSource на управляющие эелементы
Управляющий элемент Воздействие

Check box

Если свойство ControlSource представляет собой поле таблицы, тогда значения NULL, логические true (.T.) или false (.F.), или численные значения 0, 1 или 2 в поле, указанном в качестве источника ControlSource будут служить причиной выборки checkbox'а, его очистки или затенения, при перемещении указателя записи по таблице.

Column

Если свойство ControlSource представляет собой поле таблицы, то пользователь непосредственно редактирует данные поля при редактировании данных в колонке. Для привязки всей решетки (grid) к данным, установите соответствующим образом значение его свойства RecordSource.

List box или Combo box

Если ControlSource представляет собой переменную, то значение выбранное пользователем из списка, сохраняется в этой переменной. Если ControlSource представляет поле в таблице, то выбранное из списка значение сохраняется в таблице в записи, на которой стоит указатель. Если элемент в списке соответствует значению поля в таблице, то такой элемент списка выбирается в списке - подсвечивается, при перемещении указателя записи по таблице.

Option-кнопка

Если ControlSource представляет собой численное поле, то в поле записывается либо 0, либо единица, в зависимости от того, выбрана или нет данная кнопка.

Если ControlSource представляет собой логическое поле, то в поле записываются либо .T., либо .F., в зависимости от того, выбрана или нет данная кнопка. Если указатель записи перемещается по таблице, вид радиокнопки изменяется, отражая изменения значения в связанном поле..

Если ControlSource является свойством элемента группы радиокнопок OptionGroup (а не конкретной кнопки) и представляет собой символьное поле, то в поле сохраняется заголовок конкретной выбранной кнопки. Отметьте, что источником для элемента отдельная радиокнопка (в отличие от элемента OptionGroup) не может быть поле символьного типа, так как в протиивном случае Visual FoxPro сообщит о несоответствии типов данных, когда форма будет запущена.

Spinner

Счетчик (spinner) отображает и записывает численные значения в связанные с ним поля или переменные.

Text box или Edit box

Значение поля таблицы отображается в текстовом блоке. Изменения, которые производит пользователь с этим значением записываются в таблицу. Перемещение указателя записи воздействует на значение свойства Value текстового блока.

Смотрите также