![]() |
|
|
|
|
#1
|
|||
|
|||
|
Доброго всем времени суток!
Есть необходимость создать компонент очень похожий на строку адреса в IE. Т.е. это ComboBox, список элементов которого загружается из БД. Можно вводить текст с клавиатуры, при этом список ComboBox-а должен автоматически фильтроваться. Надеюсь понятно объяснил. Очень надеюсь на вашу помощь! |
|
#2
|
|||
|
|||
|
Загрузка с БД. БД=файл list.txt
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
f:tstringlist;i:integer;
begin
f:=tstringlist.Create;
f.LoadFromFile('list.txt');
for i:=0 to f.count-1 do
begin
cb.AddItem(string(f.Strings[i]),cb);
end;
end; |
|
#3
|
|||
|
|||
|
Фильтрование
Код:
procedure TForm1.cbChange(Sender: TObject);
var
f:tstringlist;i:integer;
begin
f:=tstringlist.Create;
f.LoadFromFile('list.txt');
for i:=0 to f.count-1 do
begin
if cb.text=Copy(string(f.Strings[i]),1,length(cb.text)) then cb.AddItem(string(f.Strings[i]),cb);
end;
end; |
|
#4
|
|||
|
|||
|
Как-то все сложно...
БД формата Access. Есть очень удобный компонент DBLookupComboBox (кажется так ). Если в качестве источника указать ADOQuery, то фильтрацию можно организовать простым ищменеием запрса SQL. Только есть одна проблема. Я не знаю как сделать так, чтобы в этот компонент можно было вводить текст( |
|
#5
|
|||
|
|||
|
Извини, с БД Access не работаю. Обратись в раздел Базы Данных
|
|
#6
|
|||
|
|||
|
Да это не важно. Компонент DBLookupComboBox с Access-ом никак не связан.
|