Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.28;
Скачать: CL | DM;

Вниз

Как в ComboBox загрузить данные из базы   Найти похожие ветки 

 
Бульбаш ©   (2003-04-09 11:45) [0]

Мне необходимо производить выбор значения из базы (kod и name), отображаться должно текстовое значение, а затем в параметр запроса на апдейт другой базы браться значение kod. Аваре компоненты не идут, так как с оракелом работаю. Можно ли решить проблему комбобоксом или существет что-нибудь более удобное???
Подскажите плиз, проект стоит... :(


 
Жук ©   (2003-04-09 11:47) [1]

DBLookupComboBox


 
Бульбаш ©   (2003-04-09 11:49) [2]

Я же пишу что аваре не идет, может работать только один юзер, надо все SQL-ем гнать.


 
Соловьев ©   (2003-04-09 11:50) [3]

Можно загнать в Items значение name, а потом Искать запросом kod и его подставлять в запрос. Можно конечно еще попробовать с индексом в комбобоксе, но тогда надо динамический массив создать. Сопоставить индексу в масиве значение kod, чтобы не мучаться с Locate...


 
Max Zyuzin ©   (2003-04-09 11:52) [4]

>Бульбаш © (09.04.03 11:45)
Я вот делал так, как приедлагает Соловьев © (09.04.03 11:50) но мне и самому это всегда казалось... "извратом" :)


 
Соловьев ©   (2003-04-09 11:58) [5]

мне тоже :)))


 
Бульбаш ©   (2003-04-09 11:59) [6]

Я сейчас поступаю так:делаю невидимую панель, помещаю на нее грид, затем отслеживаю двойной клик на простом едите, после чего вывожу панель, выбираю значение поля, заношу текст в едит,считываю ключевое значение и убираю панель.Юзер видит почти тот же комбобокс. Это меня коллеги залажали что нет значка распахивания. Как вы думаете, стоит ли замарачиваться со списками, или все это выльется в еще больший гимор и стоит оставить все как есть???


 
Соловьев ©   (2003-04-09 12:04) [7]


> Я же пишу что аваре не идет, может работать только один
> юзер, надо все SQL-ем гнать.

что-то я не пойму что ты пишешь...


 
Max Zyuzin ©   (2003-04-09 12:06) [8]

>Бульбаш © (09.04.03 11:59)
Даааа... я то думал я большой извращенец :-))) шутка... попробуй сделать со списком... думаю это получше будет чем с мигающими панелями


 
ЮЮ ©   (2003-04-09 12:07) [9]

>Жук © (09.04.03 11:47)
DBLookupComboBox
>Я же пишу что аваре не идет, может работать только один юзер, надо все SQL-ем гнать.

1)Если У DBLookupComboBox-а не указывать DataSource и FieldName - это уже и не DBAware, а ListSource - это уже SQL
2)Items - это TStrings, т.е. может хранить не только текст, по и Objects:

Combo.Items.AddObject(Query.Fields[0].asString, TObject(Query.Fields[0].asInteger))

а использовать

Integer(Combo.Items.Object[Index])


 
Бульбаш ©   (2003-04-09 12:09) [10]

Раньше когда на локале работал, использовал лукапбоксы и прочее. Думал также и на оракеле пойдет. Уже нарисовал добрый кусок. В общем давал Edit или Insert для базы и забивал значения, затем Post. Все было красиво, пока не посадил 2 юзверей, сразу пошли взаимные блокировки и невозможность дальнейшей работы. После этого я понял что такое SQL. Пришлось все пределывать так как описал выше.


 
Бульбаш ©   (2003-04-09 12:57) [11]

to ЮЮ
Список заполнил, но не могу взять значение ключа в переменную.
Насколько я понимаю это надо делать в Change? Как обратится к выбранной строке в списке?


 
Johnmen ©   (2003-04-09 13:13) [12]

>Раньше когда на локале работал, использовал лукапбоксы и
>прочее. Думал также и на оракеле пойдет. Уже нарисовал добрый
>кусок. В общем давал Edit или Insert для базы и забивал
>значения, затем Post. Все было красиво, пока не посадил 2
>юзверей, сразу пошли взаимные блокировки и невозможность
>дальнейшей работы. После этого я понял что такое SQL.

Мдя-а-а-а...

А себя кем считаешь ? Если не секрет ?


 
Бульбаш ©   (2003-04-09 13:44) [13]

To Johnmen
Да не секрет, в штатном записано инженер-программист. Деньги свои успешно отрабатываю, никто не жалуется. Не всем же быть мастерами, для нормального функционирования большинства контор пойдут и "подмастерья". Добрее нужно быть, батенька...


 
Johnmen ©   (2003-04-09 13:58) [14]

>Добрее нужно быть,

А я разве злой ? :)

>батенька...

Вроде у меня не было сына....Может внебрачный ?
:)))

> для нормального функционирования большинства контор пойдут и "подмастерья".

Возможно... Но, почему то думается, что ты завысил свою самооценку... (Ничего злого !)


 
Бульбаш ©   (2003-04-09 14:47) [15]

>Вроде у меня не было сына....Может внебрачный ?
В жизни всякое бывает :)
>Возможно... Но, почему то думается, что ты завысил свою самооценку... (Ничего злого !)
Я здесь никому ничего не доказываю, просто хочу получить помощь в вещах которые не знаю. Я получил то что хотел, уже все работает+ доставил удовольствие Вам указать на мою никчемность.
Все цели достигнуты, треп заканчиваю :)


 
Соловьев ©   (2003-04-09 15:00) [16]


> доставил удовольствие Вам указать на мою никчемность.

зря ты так, никто тут не зазнается...


 
malkolinge ©   (2003-04-09 16:18) [17]

Можно комбобокс сделать с гридом :)
Берете грид, а потом смотрите
http://www.delphikingdom.com/helloworld/treecombobox.htm


 
Sergey Masloff   (2003-04-09 21:27) [18]

Бульбаш ©
Обычно если этих код-имя больше 10 то все эти выпадающие списки крайне неэффективны. Я обычно вызываю в таких случаях поисковую форму которая в виде модального диалога дает отобрать нужное и по закрытию диалога присваиваю значения.

Если выборов немного то есть такой грязный хак - у комбобокса Items это TStrings, у которого кроме строк еще есть свойство Objects - массив указателей на объекты каждый из которых соответствует каждой строке. Так как указатель это 32битное значение то ты в память выделеную под указатель спокойно можешь записать Integer значение кода.

То есть Items комбобокса перед открытием заполняешь так:
Strings[0] := "name1";
Objects[0] := TObject(kod1);
и так далее. Когда пользователь выбрал Item, например с индексом 5 соотв. код получаешь так:
Значение кода := Integer(Objects[5]);

>Я здесь никому ничего не доказываю, просто хочу получить помощь >в вещах которые не знаю.
Вот этот ответ мне понравился



Страницы: 1 вся ветка

Текущий архив: 2003.04.28;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.019 c
1-91381
sapsi
2003-04-16 11:27
2003.04.28
определение расположения исполняемого файла при запуске


4-91603
smolin
2003-02-28 10:04
2003.04.28
Частота обновления экрана


3-91224
xmrz
2003-04-10 18:31
2003.04.28
Список подключенных пользователей


14-91550
Michael
2003-04-11 17:53
2003.04.28
Как переветсти на руский язык


3-91143
Leviathan
2003-04-08 22:30
2003.04.28
TQuery.Post