powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / OptionGroup
4 сообщений из 4, страница 1 из 1
OptionGroup
    #32258123
Ivan_kg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в таблице поле sex (пол), длина 1 (char).
на форме OptionGroup - выбор муж. или жен.
как сделать, чтобы OptionGroup принял значение М или Ж, или value
может быть только цифровым!?
Ошибка Property value is invalid при попытке поменять 1 на букву.
...
Рейтинг: 0 / 0
OptionGroup
    #32258133
Dushes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что мешает использовать к примеру выражение
IIF(OPTIONGROUP1.VALUE=1,"M","Ж")?
...
Рейтинг: 0 / 0
OptionGroup
    #32260119
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я Ивану уже ответил, но если кому интересно, то OptionGroup может работать и с символьными данными, а не только с числовыми. Повторю свой ответ здесь:

=======================================
Если стоит вопрос выбора одного значения из списка и выбранное значение должно отличаться от порядкового номера элемента списка, то для этой цели лучше всего использовать ComboBox.

Если тем не менее, Вы хотите использовать OptionGroup, то Вам необходимо указать в качестве Value в самом объекте OptionGroup тот текст, который отображен в соответсвующем пункте. Например:

ThisForm.OptionGroup1.Option1.Caption='М'
ThisForm.OptionGroup1.Option2.Caption='Ж'
ThisForm.OptionGroup1.Value='М'
ThisForm.OptionGroup1.ControlSource='MyTab.sex'

Если Вы делаете настройки в дезайнере, то там естесственно кавычки не нужны. Теперь значение Value будет символьным и в качестве возможных значений будет принимать значение свойства Caption выбранной позиции.

К сожалению, если длина принимающего поля меньше, чем длина текста в Caption, то наблюдается следующий глюк - выбор происходит (значение в поле изменяется), но индикация выбора непосредственно на форме не происходит (не отображается точка в выбранной опции)

Обойти этот глюк можно только ручным присвоением, примерно так:

ThisForm.OptionGroup1.Option1.Caption='Мужчина'
ThisForm.OptionGroup1.Option2.Caption='Женщина'
ThisForm.OptionGroup1.Value='Мужчина'
ThisForm.OptionGroup1.ControlSource='' &&(None)

В методе OptionGroup1.Value следующий код

select MyTab
REPLACE sex WITH This.Value
...
Рейтинг: 0 / 0
OptionGroup
    #32260996
Dushes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интересно......полезно будет знать....
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / OptionGroup
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]