![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TComboBox и БД [D5, Win2k]
User2 © (2003-04-14 17:15:00)Уважаемые, Мастера!
Помогите написать процедуру. Есть компонент TСomboBox.
Заполняю его в цикле данными запроса:
while …
ComboBox.Items.AddObject(Query.Fields[1].AsString,
TObject(Q.Fields[0].AsInteger));
……
Соответственно : текстовое поле и ключевое ID(integer).
Проблема в следующем.
Нужно программно осуществить выбор и отображение
из списка ComboBox нужного элемента, используя лишь ID,
в данном случае это:
Integer(ComboBox.Items.Objects[ComboBox.ItemIndex]);
Для наглядности:
Заполним ComboBox(способом указанным выше) данными:
где:
Текстовое поле ID
Килька 3
Ставрида 5
Минтай 7
Допустим, мне нужно, чтобы в поле ComboBox отобразилось “Минтай”,
причем сделать это нужно лишь программно доступом через ID ( он известен,в данном случае – 7 )
begin
// Огромное спасибо, тому кто не откажет в помощи
end
Zacho (2003-04-15 12:06:00) [1]
> Babay © (15.04.03 10:25)
Зачем так сложно ?
RTFM TStrings.IndexOfObject
P.S. И RTFM Break для понимания, что существует нормальный способ выхода из цикла.
REA (2003-04-15 10:40:00) [2]TdbLookUpCombo подходит, но у него глюки были (или я что-то не так делал) - например при прокрутке при нажатии на стрелочки выпадающего списка текст самого ComboBox не менялся, а позиция в Table менялась (сейчас посмотрел в одной программе эффект остался, а в другой уже нет). И при нажатии на Enter (если есть Default button) ComboBox не закрывался, а говорил Cannot focus disabled or invisible window.
Поправьте, если я не прав.
Babay (2003-04-15 10:25:00) [3]В цикле перебираешь комбо и проверяешь что ...
короче так примерно
i:=0;
while i<Combobox.items.count do begin
if Integer(ComboBox.Items.Objects[i])=<твое число> then
begin
ComboBox.itemIndex:=i;
I:=Combobbox.items.count+1;
end;
inc(i);
end;
User2 (2003-04-14 20:08:00) [4]А с ComboBox что никак?
Может еще у кого-нибудь будут соображения???
Правда, очень нужно.
malkolinge (2003-04-14 17:23:00) [5]А вообще возми TdbLookUpCombo (Стандартный)
malkolinge (2003-04-14 17:20:00) [6]Сделай обычный грид..Выпадающий :)))))))))))
свойсвва
KeyField
ListField
Ищешь в KeyFiled, отображаешь ListField.
и еще глянь статейку
http://www.delphikingdom.com/helloworld/treecombobox.htm