Szybkie wyszukiwanie w ListView

0

Chciałe uzyskać taki efekt, jak jest w helpach, to znaczy :
Mam listview z widokiem report i kilkoma kolumnami oraz pole Edit.
Kiedy wpiszę w edit literkę "a" to mi sie mają w listview wyświetlić tylko itemy zaczynajace sie na "a". Kiedy dopisze "b" czyli bedzie "ab", to sie mają wyswietlić itemy na "ab". A kiedy usune wszystkie znaki z edit, to w listview ma sie wyswietlic wszystko. :)

Ktoś wie jak to zrobić?

0

Dam przykład na ListBox, bo łatwiejszy, ok?

type
TForm1 = class(TForm)
...
...
private
FStringi: TStringList; // tu przechowujesz dane
end;

procedure TForm1.OnCreate(Sender: TObject);
begin
FStringi:=TStringList.Create;
end;

procedure TForm1.OnDestroy(Sender: TObject);
begin
FStringi.Free
end;

procedure TForm1.Edit1OnKeyUp(..);
var
i: Integer;
begin
ListBox1.Items.BeginUpdate;
ListBox1.Items.Clear;
for i:=0 to FStringi.Count - 1 do begin
if Pos(Edit1.Text, FStringi[i]) = 1
then ListBox1.Items.Add(FStringi[i]);
end;
ListBox1.Items.EndUpdate;
ListBox1.ItemIndex:=0
end;

To jest of koz szkielet...

0

Dzięki bardzo, choć myślałem że można to zrobić jakoś prościej, bez konieczności trzymania danych gdzie indziej. Ale i tak dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1