Avatar billede rasmusw Nybegynder
23. maj 2006 - 13:48 Der er 2 kommentarer

combobox med søgefilter

I en combobox kan man få den til at gå direkte til de list items der begynder med det man har skrevet i edit-feltet.

Jeg kunne godt tænke mig at man kan skrive en vilkårlig tekst i edit-feltet, og derefter bliver de synlige items filtreret, så kun de items der indeholder det man har skrevet bliver vist. Dvs. den søger ikke kun begyndelsen af items, men på hele indholdtet.

Er der nogen der kender en komponent til det, eller en måde man kan få tcombobox til det?
Avatar billede nico26 Nybegynder
23. maj 2006 - 14:00 #1
Du kan lave en TStringList med alle værdierne, og så søge på items i denne list, og kopiere dem der matcher over i combo'en...
Avatar billede nico26 Nybegynder
23. maj 2006 - 14:06 #2
noget a la det her

var
  MyList: TStringList;

...

procedure TForm1.Button1Click(Sender: TObject);
var
  i : Integer;
begin
  with ComboBox1.Items do
  begin
    BeginUpdate;
    try
      Clear;

      for i := 0 to MyList.Count - 1 do
        if Pos(Edit1.Text, MyList[i]) > 0 then
          Add(MyList[i]);
    finally
      EndUpdate;
    end;
  end;
end;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester