Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.01.04;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.004 c
15-1226250463
aKor
2008-11-09 20:07
2009.01.04
Компонент ShellListView только такой чтобы работал с http


15-1225979014
pasha_golub
2008-11-06 16:43
2009.01.04
Инсталляция пакетов


9-1176419505
Gabriel de Montgomery
2007-04-13 03:11
2009.01.04
Сохранение карты


8-1186560384
ZMRaven
2007-08-08 12:06
2009.01.04
Подвижное изображение?


15-1225715882
bv7
2008-11-03 15:38
2009.01.04
MySQL + Delphi (доступ и редактирование данных)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский