Форум: "Базы";
Текущий архив: 2003.04.28;
Скачать: [xml.tar.bz2];
ВнизКак в 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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.009 c