|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Проблема с ComboBox и данными
Дорогие форумчани, нужна ваша помощь, как можно реализовать : взятие записи из базы (DMMain.OQueryZayvki) потом циклом пройтись по уже загружённому ComboBox найти ее индекс в ComboBox и потом уже сделать активной ту запись что нашёл?
Записи в ComboBox загружаются: Код:
ComboBox1.Clear; DMMain.OQueryUser1.Open; DMMain.OQueryUser1.First; while not DMMain.OQueryUser1.EOF do begin ComboBox1.AddItem(DMMain.OQueryUser1.FieldByName(FIO).AsString, TObject(DMMain.OQueryUser1.FieldByName(ID).AsInteger)); DMMain.OQueryUser1.Next; end; |
#2
|
|||
|
|||
Дык я ж тебе уже дал код:
Код:
procedure TForm1.SetComboBoxValue(AComboBox : TComboBox; AID : Integer); var I : Integer; begin AComboBox.ItemIndex := -1; For I := 0 To AComboBox.Items.Count-1 Do If Integer(AComboBox.Items.Objects[i]) = AID Then Begin AComboBox.ItemIndex := I; Break; End; end; Запись сделать активной можно через Locate: Код:
DMMain.OQueryUser1.Locate('ID',Idx,[]); |
#3
|
|||
|
|||
Можете ещё почитать про LookupComboBox.
судя по описанию поведения очень похоже что проще его использовать |