Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Идентификатор в ComboBox
|
|||
|---|---|---|---|
|
#18+
Мой вопрос -продолжение темы ошибочно названной VFP и BDE Проблемма решена но возникают дополнительные вопросы Задача такая. Есть таблица (справочник) состоит из нескольких полей- в том числе идентификатор (zkei) и наименование( nkei) Мне нужно 1 поместить из таблицы поместить поля zkei и nkei в combo и закрыть таблицу 2 При раскрытии списка комбо пользователь должен видеть только наименования (значения nkei) 3 После того как пользователь выбрал какое либо наименование я должен проделать какие либо действия с соответствующим zkei При помощи Марины ( MarinaVP) проблему решил следующим образом В инит формы создал массив и заполнил им combo Select zkei, nkei from kei where !EMPTY(zkei) into array TMP_ar for i=1 to _TALLY thisform.combo1.addlistitem(tmp_ar(i,2),VAL(tmp_ar(i,1))) next А затем выбранный идентификатор беру из Thisform.combo1.ListItemID Как уже говорил все работает но возникли два вопроса на будующее: 1) addlistitem требует ТОЛЬКО ЦИСЛОВОЙ ТИП (у меня сейчас поле символьное но там только цифры поэтому все получилось), а как быть если там буквы и прочие знаки (как на MS SQL) 2)Как быть если в комбо нужно поместить 3 или более значений (но видеть только наименование) Заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 09:50 |
|
||
|
Идентификатор в ComboBox
|
|||
|---|---|---|---|
|
#18+
А почему нелья использовать в Combo три колонки и все данные в них симольные, в ColumnWidth ставить, к примеру, "200,0,0" и ColumnLines=.F., а идентификатор в любой колонке, которой надо, и поставить соотвественно BoundColumn=3 (к примеру). Дерзайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 10:00 |
|
||
|
Идентификатор в ComboBox
|
|||
|---|---|---|---|
|
#18+
Используй в качестве источника данных для Combo собственно массив. http://www.sql.ru/forum/actualthread.aspx?tid=61985 Единственная проблема - это если в массив не попало ни одной записи. В этом случае надо принудительно создать один элемент массива и в первый видимый элемент добавить символ обратного слэша "\". Такой элемент будет недоступен для выбора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 10:04 |
|
||
|
Идентификатор в ComboBox
|
|||
|---|---|---|---|
|
#18+
Пытался пытался и никак!!! to MarinaVP А каким способом остальные колонки пристоить? если я пишу в цикле thisform.combo1.addlistitem(tmp_ar(i,2),(tmp_ar(i,1)) - хочу чтобы значения zkei как они есть - символьные то программа требует нумериг если thisform.combo1.addlistitem(tmp_ar(i,2)) && ДОБАВЛЯЮ наимнование thisform.combo1.addlistitem(tmp_ar(i,1),2) && добавляю zkei во второй столбец комво То почемуто при раскрытии сомво среди наименований появляется одно значение идентификатора и как потом взять идентификатор у выбранного наименования во 2-м случае Thisform.combo1.ListItemID- уже выдает порядковый номер to ВладимирМ Хотелось бы обойтись без массивов чтобы было как можно меньше всяких переменных Вообще тут можно сказать дело принципа. Один коллега кидает пальцы и кричит что в дельфи это все просто а в фоксе так не сделаешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 11:58 |
|
||
|
Идентификатор в ComboBox
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 12:14 |
|
||
|
Идентификатор в ComboBox
|
|||
|---|---|---|---|
|
#18+
nfpto ВладимирМ Хотелось бы обойтись без массивов чтобы было как можно меньше всяких переменных Извини, но ты по ссылке прочитал? Этот массив будет не переменной, а свойством формы. А это не одно и то же. В данном случае работать с массивом удобнее чем с прямым наполнением списка значений. nfpВообще тут можно сказать дело принципа. Один коллега кидает пальцы и кричит что в дельфи это все просто а в фоксе так не сделаешь Да пусть развлекается. Мало ли где какую фенечку удобнее сделать. Я так понимаю приложение пишется на FoxPro. Если коллега кидает пальцы, то попроси его написать собственно все приложение, а не наполнение отдельных объектов. Потом сравните у кого пальцы шире растопырятся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 12:18 |
|
||
|
Идентификатор в ComboBox
|
|||
|---|---|---|---|
|
#18+
2ВладимирМ Соврешенно с вами согласная я ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 12:25 |
|
||
|
Идентификатор в ComboBox
|
|||
|---|---|---|---|
|
#18+
Осмелюсь воспользоваться логином nfp (с разрешения его обладателя). Я как раз тот самый коллега :-) Николай Федорович (это мой друг и коллега) просто забыл в нужном месте ставить смайлики [:-))] Просто у нас идет рабочий спор и мы пытаемся найти оптимальный путь решения проблемы. Сам же программирую и на VFP и на Delphi (у меня примерно равное количество проектов). Просто у меня в Delphi как оказалось больше опыта чем в VFP, да честно говоря он мне и больше нравиться (это конечно субъективно). Так что без обид... и без смеха... это приложение (как и любое другое :-)) без проблем можно написать и на Delphi, но в силу ряда причин приходиться делать на VFP. Спасибо... Александр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 13:12 |
|
||
|
Идентификатор в ComboBox
|
|||
|---|---|---|---|
|
#18+
Александр! Я вовсе не собирался и не собираюсь разворачивать дискуссию FoxPro vs Delphi. Для этого на данном сайте есть форум "Сравнение СУБД". Но идти "на принцип" из-за частного решения в конкретной форме?! Без большого количества смайликов тут не обойтись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 14:19 |
|
||
|
Идентификатор в ComboBox
|
|||
|---|---|---|---|
|
#18+
nfp - настоящий Прошу прощения у уважаемой публики за ссылку на коллегу. Возможно это было не к месту или нужно было иначе варазить свои мысли. Я слишком все преувеличил (насчет пальцев, принципов и прочее). Но если можно вернемся еще раз к интересующему вопросу Попробовал я оба варианта сами комбо работают а как выцепить значение любой из колонок у выбранной записи пока не пойму С вариантом Марины кое что понял а с вариантом Владимира пока ни как- не вижу я всех значений ). Если можно подскажите. и еще to ВладимирМ "Извини, но ты по ссылке прочитал? Этот массив будет не переменной, а свойством формы. А это не одно и то же. В данном случае работать с массивом удобнее чем с прямым наполнением списка значений." Если можно объяснить 1 в чем разница просто массива и массива как свойства формы (во 2-м случае известно на всей форме и убирается по закрытию формы а не нужен public и дальнейшее удаление а что еще? ) 2 Какие преимущества данного способа перед прямым заполнением списка значений (не нужно тратить время на заполнение, а что еще?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 16:24 |
|
||
|
Идентификатор в ComboBox
|
|||
|---|---|---|---|
|
#18+
nfpnfp - настоящий Если можно объяснить 1 в чем разница просто массива и массива как свойства формы (во 2-м случае известно на всей форме и убирается по закрытию формы а не нужен public и дальнейшее удаление а что еще? ) Собственно и все. НО! Работа с PUBLIC переменными требует повышенной аккуратности от программиста. Я бы рекомендовал новичкам всячески избегать их использования. Особенно если речь идет о локальных задачах, как в данном случае. Дело в том, что про такие переменные легко забыть и переопределить где-нибудь в другой форме или процедуре, а потом долго удивляться почему это код не работает. nfp2 Какие преимущества данного способа перед прямым заполнением списка значений (не нужно тратить время на заполнение, а что еще?) Зависит от того, для какой цели Вы будете использовать источик Combo в дальнейшем. В массивах проще производить модификацию и навигацию. Т.е. в общем случае потребуется меньше кода. Хотя, безусловно, все задачи можно решить и при явном заполнении выпадающего списка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 16:40 |
|
||
|
Идентификатор в ComboBox
|
|||
|---|---|---|---|
|
#18+
Да, если в качестве источника данных - массив, то установите для combo такие значения: BoundTo=.F. - это значение по умолчанию - менять не надо Value = 1 Если Value указано числовое значение и BoundTo=.F., то в качестве выбранного значения ComboBox будет указан номер строки массива! Это значит, что после выбора в Combo обратится к нужному элементу массива можно будет так: ?ThisForm.aCombo(ThisForm.Combo1.Value,1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 16:44 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32689346&tid=1595830]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 219ms |
| total: | 358ms |

| 0 / 0 |
