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

Вниз

ComboBox   Найти похожие ветки 

 
Valerik ©   (2008-11-20 09:04) [0]

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


 
Palladin ©   (2008-11-20 09:09) [1]

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


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

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


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

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

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


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

Берём 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.
Наслаждаемся.


 
Valerik ©   (2008-11-20 10:06) [5]

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


 
Valerik ©   (2008-11-20 10:12) [6]

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


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


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


TDBComboBox + F1


 
Valerik ©   (2008-11-20 13:40) [8]

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


 
Ega23 ©   (2008-11-20 13:44) [9]


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


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


 
NieL ©   (2008-11-20 14:11) [10]

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


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 14:23) [11]


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


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


 
Valerik ©   (2008-11-25 08:41) [12]

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


 
Valerik ©   (2008-11-25 09:23) [13]

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



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

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

Наверх




Память: 0.49 MB
Время: 0.014 c
2-1227090068
oracled
2008-11-19 13:21
2009.01.04
IdHTTP


15-1226179709
Труп Васи Доброго
2008-11-09 00:28
2009.01.04
Займите WMR


3-1212563525
allucard
2008-06-04 11:12
2009.01.04
Database not assigned


2-1227462578
Вера
2008-11-23 20:49
2009.01.04
Матрица


2-1227035585
Resvald
2008-11-18 22:13
2009.01.04
не могу загрузить числа из txt файла(((