Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Combo и изменение выбранного пункта / 15 сообщений из 15, страница 1 из 1
19.10.2004, 14:10
    #32744475
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
есть таблица с двумя полями код и name
в комбо задано rowsource=name
rowsourcetype=fields
bound to column =1
boundTo=.f.
ControlSource=none
Value - none

мне от комбо надо получить
код выбранного пункта и название, но вот в чем фишка - надо чтобы выбранный пункт можно было изменить. Я воспользовался displayValue - возвращает введенное/измененное наименование, но КОД! Код возвращается последний из базы. Т.е. если я выбрал пункт 3 и ничего не изменял, мне возвращается Displayvalue такой же как и value и такой же как и в базе в поле name, код я беру не из комбо, я из таблицы, он получается 3. А как только я изменяю значение пункта комбы, то от таблицы я моментоv получаю код последней записи, а надо чтоб всеравно 3.
Т.е., например, есть 10 записей с кодами 1-10 и пришитыми для них названиями, а 11 пукт типа с названием Другое, и вместо него юзер пишет чего ему надо (сохранять для дальнейшего использования это не надо). Или юзер выбирает от 1 до 10, но хочет дополнить наименование своими 5 копейками, тогда мне надо код выбранного пункта и оформленное юзьверем наименование. Как это сделать, не оставляя в базе юзьверских 5 копеек через комбо?

на форуме много близких по смыслу тем, но именно того что надо, я не нашел... (хотя помогло DisplayValue)
...
Рейтинг: 0 / 0
19.10.2004, 14:25
    #32744508
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
Если kod - это символьное поле, то можно так:

RowSource = MyTable.kod,name
RowSourceType = 6 - fields
BoundColumn = 1
ColumnCount = 2
ColumnWidths = 0,100

В первой строчке - это не опечатка. Имя таблицы только у первого поля.

Если поле kod числового типа, то добавь настройку

BoundTo = .T.
...
Рейтинг: 0 / 0
19.10.2004, 16:42
    #32744815
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
Не, это не то. Это Вы мне стандартноую операцию дали, а меня ньюанс интересует!
Так у меня в списке выпадают названия, а отображается его код, а надо чтобы название и выпадало и оставалось (юзьверю код зачем?) И чтоб юзьверь это название выбранное мог подправить, а я получить подправленное название, и что самое главное, код выбранной позиции. Название я уже получаю, а код получаю последний, все равно что выбрать.
...
Рейтинг: 0 / 0
19.10.2004, 16:57
    #32744877
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
главное, пока я не редактирую выбранную запись, что combo.value что по указателю из таблицы я получаю верный код,
а как только втулю например пробел в слове, тут же получаю 11 - номер последней записи - от указателя в таблице, и 0 от combo.value
...
Рейтинг: 0 / 0
19.10.2004, 16:57
    #32744878
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
Ну пожалуйста. Хотя бы попробуйте это сделать на тестовой формочке прежде чем возражать.

У Вас и получится: отображется поле Name, а выбирается значение поля kod.
...
Рейтинг: 0 / 0
19.10.2004, 16:57
    #32744880
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
CTAC-KO.. а надо чтобы название и выпадало и оставалось (юзьверю код зачем?) ...

См. свой вопрос от 17.10.2004

А на счет подправить? Для этого тебе нужно будет самому написать Valid обработку для Combobox
...
Рейтинг: 0 / 0
19.10.2004, 16:58
    #32744885
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
Не факт, что это его вопрос, но вот аналогичная тема

http://www.sql.ru/forum/actualthread.aspx?tid=131013
...
Рейтинг: 0 / 0
19.10.2004, 17:03
    #32744899
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
дак я все так и сделал прежде чем ответ написать! Все так и прописал как у Вас на примере.
Выпадает список с полем name (потому что ширина колонок 0,100), а как выберу - в поле комбо появляется только его код (потому что BoundTo=1/.T. а в первой колонке базы - код). А зачем он мне? Я ж объясняю - мне именно name и нужен, но более того мне не отобразить , а передать на обработку надо код этого выбранного name и его редакцию от юзьверя! А код после редакции меняется!
...
Рейтинг: 0 / 0
19.10.2004, 17:14
    #32744926
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
короче получается, чтоб не утратить код выбранной записи из комбо, но и иметь возвожность подредактировать выбранное, надо создать текстбокс и в него заносить значение name, выбранное в комбо, и в боксе уже редактировать... а комбу застайлить на 2. Ета кру-тта... Либо быренько опосля выбора из комбы пункта сторить его код в переменную, пока юзьверь не успел че-нить нажать...
...
Рейтинг: 0 / 0
19.10.2004, 17:16
    #32744931
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
Вод это

RowSource = MyTable.name, kod
RowSourceType = 6 - fields
BoundColumn = 2
ColumnCount = 2
ColumnWidths = 100,0
BoundTo = .T.

вернет в Combobox наименование, но в поле, но в поле которое указано в ControlSource вернется Kod.
...
Рейтинг: 0 / 0
19.10.2004, 17:16
    #32744932
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
Сделай обратные настройки:

RowSource = MyTable.name,kod
RowSourceType = 6 - fields
ColumnCount = 2
BoundColumn = 2
ColumnWidths = 100,0
ColumnLines =.F.

Т.е. отображается в качестве выбранного значения всегда содержимое первой колонки. А вот собственно код можно брать откуда угодно. В данном случае из 2-ой колонки.
...
Рейтинг: 0 / 0
19.10.2004, 17:20
    #32744945
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
Как раз в том посте, от 17.10.2004, об этом и рассказывалось. :-)
А заметил как синхронно мы постим? :-)
Прям синхронное плавание.
...
Рейтинг: 0 / 0
19.10.2004, 17:32
    #32744989
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
а у меня нету контролсоурса, и я хотел код получать либо как combo1.value либо из таблицы по текущему положению, а name как combo1.DisplayValue.
А при редактировании выбранного указатель в талице едет в конец, а в комбо в 0.
...
Рейтинг: 0 / 0
19.10.2004, 17:44
    #32745030
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
я угробил на своей форме свое комбо и сделал как Вы советуете на последних двух примерах
Все давно получается если не редактировать выбранный пункт
НО
Получаю из таблицы код 11 или из комбо.валу 0 если выбранную в комбо опцию редактирую. combo1.ContorlSource=none, value=0

Комбо реагирует на редактирование как на поиск несуществующей записи, что-ли. Вот и не возвращает кода
...
Рейтинг: 0 / 0
19.10.2004, 17:48
    #32745051
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Combo и изменение выбранного пункта
CTAC-KOКомбо реагирует на редактирование как на поиск несуществующей записи, что-ли. Вот и не возвращает кода
Правильно! Если бы Вы все-таки почитали тему по приведенной ссылке, то там об этом так и написано.

ComboBox не предназначен для редактирования содержимого раскрывающегося списка!

Точнее, сделать это в принципе можно, но только дополнительным программированием. Никакими настройками этого добиться нельзя!

Поэтому сделайте настройку

Combo.Style = 2 - DropDown List

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


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