powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите решить проблему с combobox
10 сообщений из 10, страница 1 из 1
Помогите решить проблему с combobox
    #33059120
Фотография barboza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Существует локальное представление view(name, room) в поле
Name находятся фамилии людей, а в поле room номера помещений, принадлежащие этим людям. На форме есть два combo, первый привязан к name, второй к room. Первый combo неактивен, enabled = false. Допустим, есть гражданин Иванов которому принадлежат три комнаты №1, №7, №12. Выбираю во втором combo комнату №12, а появляется комната №1 и только при повторном выборе комната №12. В чём тут может быть дело?
...
Рейтинг: 0 / 0
Помогите решить проблему с combobox
    #33061709
Фотография barboza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребят кто-нибудь подскажет???
Мож я проблему неверно написал?
...
Рейтинг: 0 / 0
Помогите решить проблему с combobox
    #33061722
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты бы пример формочки выложил. Из твоего туманного описания есть подозрение, что надо сделать настройку второго ComboBox (с комнатами)

ComboBox.BoundTo = .T.

Хотя, не уверен... Очень уж туманно описано.
...
Рейтинг: 0 / 0
Помогите решить проблему с combobox
    #33061741
alexFV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Особенно загадочно звучит вот это:
Выбираю во втором combo комнату №12, а появляется комната №1 и только при повторном выборе комната №12.
Как выбираешь, где появляется?
...
Рейтинг: 0 / 0
Помогите решить проблему с combobox
    #33061845
Фотография barboza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребят не ругайтесь, не дано мне ясно самовыражаться, не проффесионал я, так любитель, пожалуйста посмотрите, может быть из этого примерчика яснее будет моя проблема. Спасибо!!!
...
Рейтинг: 0 / 0
Помогите решить проблему с combobox
    #33061990
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня все работает. Может я не в той последовательности кнопки жму?

Какая версия FoxPro? Как надо действовать в твоем примере (что сделать сначала, что потом), чтобы проявился твой глюк?
...
Рейтинг: 0 / 0
Помогите решить проблему с combobox
    #33062007
Фотография barboza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версия vfp 6.0, без сервис-паков, во втором комбо я выбираю, допустим комнату 310, а в нем отображается 306 и только выбрав второй раз 310, она отображается в комбо.
...
Рейтинг: 0 / 0
Помогите решить проблему с combobox
    #33062120
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно. В данном случае сбой происходит из-за первого (неактивного) ComboBox. Логика примерно следующая:

Ты выбираешь значение в Combo2 = "310"

Указатель записи View1 перемещается на выбранную запись (Recno()=5)

Выполняется метод обновления формы (ThisForm.Refresh)

Отображаемое значение Combo1 меняется в соответствии с текущим положением указателя записи во View1 на значение "Петров"

НО! Поскольку во View1 у тебя несколько записей со значением "Петров", то в момент обновления Combo1 произойдет перемещение указателя записи на первую (физически) запись со значением "Петров" (Recno() = 4)

Обновляется содержимое Combo2

Решением является "отвязка" Combo от View. Не надо делать и источником (RowSource) и управляющим элементом (ControlSource) одну и ту же таблицу. Убери ссылку на View1 из ControlSource обеих Combo, а обновление делай вручную:

Init-формы

Go TOP in View1
ThisForm.Combo1.Value = View1.Name
ThisForm.Combo2.Value = View1.Room

Combo2.InteractiveChange - вообще не надо использовать, если, конечно, нет цели отображать в Combo1 реакцию на каждое нажатие клавивиши в Combo2

Combo2.Valid - действия при окончательном выборе в Combo2 (любым способом)

ThisForm.Combo1.Value = View1.Name
ThisForm.Combo1.Refresh()
...
Рейтинг: 0 / 0
Помогите решить проблему с combobox
    #33062177
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2barboza

А зачем использовать неактивный комбо? Смысл?
Если нужно просто расшифровать твой выбор, то вместо неактивного комбо поставь неактивный текстбокс, для комбо: RowSourceType=6 (Fields); RowSource=view.room,name; ColumnCount=2; ColumnWidth=100,0.
В Combobox.Valid:
ThisForm.txtTextbox.Value=This.List(This.ListIndex,2)
...
Рейтинг: 0 / 0
Помогите решить проблему с combobox
    #33062194
Фотография barboza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ВладимирМ Огромное спасибо все получилось, извините уж что сразу не смог объяснить чего нужно, еще раз спасибо

2 AleksMed просто при определенных событиях, первый комбо тоже становится активным и из него можно делать выбор
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите решить проблему с combobox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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