Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ComboBox [D7]


Valerik ©   (2008-11-20 09:04:00) 

Подскажите пожалуйста как занести в ComboBox список названий из таблицы, причем названия не должны повторяться.
Пытался и с помощью другого компонента. не получилось!!!!


Valerik   (2008-11-25 09:23:00) [1]

Все разобрался! спасибо большое за помощь!!!!!!!


Valerik   (2008-11-25 08:41:00) [2]

Он на такой запрос (в [4]), выдает ошибку. почему?


Ega23   (2008-11-20 14:23:00) [3]


> NieL ©   (20.11.08 14:11) [10]
>
> Вот как вариант:


Ещё один...
Ты [4] причитал, или нет?


NieL   (2008-11-20 14:11:00) [4]

Вот как вариант:


procedure Tform_Main.Button1Click(Sender: TObject);
var
 ListNames: TStringList;
begin
 ListNames := TStringList.Create;
 try
   ListNames.Sorted := True;
   ListNames.Duplicates := dupIgnore;
   with Table1 do
   begin
     First;
     while not EOF do
     begin
       ListNames.Add(FieldByName('Name').AsString);
       Next;
     end;
   end;
   ComboBox1.Items.AddStrings(ListNames);
 finally
   ListNames.Free;
 end;
end;


Но правильнее использовать DBComboBox


Ega23   (2008-11-20 13:44:00) [5]


> А как сделать, что бы не повторялись?


У тебя как, с глазами проблемы? Ты [4] прочитал, или как?


Valerik   (2008-11-20 13:40:00) [6]

А как сделать, что бы не повторялись?


Ega23   (2008-11-20 10:13:00) [7]


> Напишите по подробнее, что должно содержать ListSource,
> KeyField и ListField?


TDBComboBox + F1


Valerik   (2008-11-20 10:12:00) [8]

И еще выдает ошибку при изменении знасений в KeyField и ListField: "Circular datalinks are not allowed"


Valerik   (2008-11-20 10:06:00) [9]

Напишите по подробнее, что должно содержать ListSource, KeyField и ListField?
Потому что я попробовал и компонент как буд то не активным, хотя Enabled стоит в True.


Ega23   (2008-11-20 10:00:00) [10]

Берём TDataSet, выполняем запрос select distinct Name from Table

Далее:
Вариант 1. TComboBox
ComboBox.Items.Clear;
with DataSet do
begin
 First;
 while not Eof do
 begin
   ComboBox.Items.Add(FieldByName('Name').AsString);
   Next;
 end;
end;


Вариант 2. TDBLookupCombo
Берём TDataSource, ему в качестве TDataSet прописываем наш.
Берём TDBLookupCombo, прописываем ему ListSource, KeyField и ListField.
Наслаждаемся.


Anatoly Podgoretsky   (2008-11-20 09:37:00) [11]

> Valerik  (20.11.2008 9:04:00)  [0]

Наверно надо было использовать не другой, а другой компонент.


Григорьев Антон   (2008-11-20 09:22:00) [12]

А не проще будет использовать TDBLookupComboBox?


Palladin   (2008-11-20 09:09:00) [13]

что конкретно вызывает затруднения?


Наверх

Титульная страница Поиск, карта сайта Написать письмо