powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выбор при 2х одинаковых записях в комбо
11 сообщений из 11, страница 1 из 1
Выбор при 2х одинаковых записях в комбо
    #37186958
Keeper2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток.

Есть комбо (mgorod), в него источником (тип - Fields) вываливаются записи из файлика tmpklad.dbf (есть поле Name и CODE)
на событие KeyPress стоит фильтр, дабы при нажатии на кнопочки, выводились похожие записи (вводим МОС и собссна отображаются все записи начинающиеся с этих букв). Имеется проблема такая - допустим в файле формируется список городов и среди них есть две записи с именем МОСКВА, только у первой запси поле CODE имеет значение 100001, а у второй 100000. Так вот, когда набираю МОСКВ и от крываю комбо, то вижу две записи МОСКВА, МЫШКОЙ выбираю запись номер два, но выбирается почему-то только первая запись. То есть значение CODE от первой записи и только, если грохнуть первую, то без проблем выбирается вторая. Подскажите плз, как бороться с этим ? )))
...
Рейтинг: 0 / 0
Выбор при 2х одинаковых записях в комбо
    #37187299
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Установить значение свойства

ComboBox.BoundTo = .T.
...
Рейтинг: 0 / 0
Выбор при 2х одинаковых записях в комбо
    #37189241
Keeper2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовал - не получилось. ControlSource стоит в None, а DisplayValue=mgorod т.е. само же комбо.
...
Рейтинг: 0 / 0
Выбор при 2х одинаковых записях в комбо
    #37189702
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приведите все сделанные Вами настройки ComboBox.

И еще, если в открывшемся списке отображаются две одинаковые записи "Москва", то как Вы сами-то отличаете какой записи какой код соответствует? Почему считаете, что то, что выбирает ComboBox - не правильно?
...
Рейтинг: 0 / 0
Выбор при 2х одинаковых записях в комбо
    #37191501
Keeper2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМПриведите все сделанные Вами настройки ComboBox.

Все настройки по умолчанию кроме:
1.RowSourceType: 6- Fields
2.RowSource:TmpKlad.name
3.NumberOfElements:8
4.Style:0-Dropdown Combo


И еще, если в открывшемся списке отображаются две одинаковые записи "Москва", то как Вы сами-то отличаете какой записи какой код соответствует? Почему считаете, что то, что выбирает ComboBox - не правильно?

Ну у первой МОСКВЫ значение поле CODE заканчивается на 051, а у второй на 000, в отладчике (да и по формированию следующей таблицы в программе) видно, что выбор идет всегда по первой записи.
...
Рейтинг: 0 / 0
Выбор при 2х одинаковых записях в комбо
    #37191503
Keeper2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот пример, просто сделал пустую форму...эффект тот же. В этом случае два города ИРКУТСК одинаковых, нужен второй, у которого CODE заканчивается на 000.
...
Рейтинг: 0 / 0
Выбор при 2х одинаковых записях в комбо
    #37191661
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Keeper2009, выводи в комбобокс вместе с названием города его код и выбирайте нужный. Проблема-то в чем?
...
Рейтинг: 0 / 0
Выбор при 2х одинаковых записях в комбо
    #37191841
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаешь следующие настройки

Код: plaintext
1.
2.
mgorod.RowSource: tmpklad2.name,Code   && Обрати внимание, что алиас таблицы только у первого поля!
mgorod.BoundColumn:  2                   && Выбранное значение брать из  2  столбца выпадающего списка

Метод mgorod.LostFocus меняешь следующим образом

Код: plaintext
1.
2.
Thisform.mGOROD2.Value = Alltrim(tmpklad2.socr)+[. ]+Alltrim(tmpklad2.Name)
Thisform.mklad.Value   = This.Value 

Все. Больше ничего в этом методе писать не надо.

Для понимания, что такое ComboBox почитайте вот это http://forum.foxclub.ru/read.php?29,503780,504381#msg-504381
...
Рейтинг: 0 / 0
Выбор при 2х одинаковых записях в комбо
    #37191882
Keeper2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, помогло. То есть получается по имени низя выбирать ибо дубли, а вот CODE разный, следовательно привязка и выбор по нему ? или же получаем не значение, а номер....
...
Рейтинг: 0 / 0
Выбор при 2х одинаковых записях в комбо
    #37193248
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Keeper2009Спасибо, помогло. То есть получается по имени низя выбирать ибо дубли, а вот CODE разный, следовательно привязка и выбор по нему ? или же получаем не значение, а номер....
Выбирать-то можно. Кстати, присланный Вами код у меня работает без ошибок. Выбирает именно ту запись, которая указана. Ничего не "путает".

Вероятно, у Вас еще есть какие-то "завязки" на позицию курсора в таблице, ведь первой командой после выбора, Вы зачем-то разрываете связь между выбранным значением ComboBox и положением указателя записи в таблице THISFORM.mgorod.RowSource=""), а затем еще вызываете метод обновления "картинки" ComboBox (THISFORM.mgorod.Refresh).

Т.е. ошибка явно "наведенная". Зависит от чего-то, чего Вы в присланном примере не сделали.

Ну, а то, что я сделал, это просто устранение этой самой "не определенности" как по положению указателя записи, так и по выбранному значению.
...
Рейтинг: 0 / 0
Выбор при 2х одинаковых записях в комбо
    #37193413
Keeper2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм, специально сделал пустой проект и в него просто воткнул событие, выбора не было нормального... разрыв источника я убрал, просто запамятовал исправить во вложении. Сие есть эксперименты с КЛАДРом =)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выбор при 2х одинаковых записях в комбо
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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