![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TListView - Поиск [D6, D7, WinXP]
Ivol © (2005-12-28 22:30:00)Всем Привет... Как можно реализовать поиск строки в ListView, так чтобы при найденых результатах, выдавался искомый результат и другие результаты на ту же букву.... Это реалезовано еще в телфонных справочниках... Надеюсь кто поможет :) Заранее спасибо...
begin...end (2005-12-30 18:28:00) [1]> Ivolg © (30.12.05 18:01) [5]
var
S: string;
I: Integer;
Item: TListItem;
begin
S := Copy(Edit1.Text, 1, MaxInt);
I := -1;
repeat
Item := ListView1.FindCaption(I + 1, S, True, True, False);
if Assigned(Item) then
begin
I := Item.Index;
ListView2.Items.Add.Assign(Item)
end
else
Break
until False
end
Ivolg (2005-12-30 18:01:00) [2]Спасибо всем... Я разобрался.. сделал я по простому:
var
it:TListItem;
s,s2,s3,s4:string;
begin
lv2.Clear;
for i:=0 to lv.Items.Count-1 do begin
s:=edit1.Text;
s2:=copy(s,1,Length(edit1.Text));
s3:=lv.Items[i].Caption;
s4:=copy(s3,1,Length(edit1.Text));
if s2=s4 then begin
it:=lv2.Items.Add;
it.Caption:=s3;
it.SubItems.Add(lv.Items.Item[i].SubItems[0]);
it.SubItems.Add(lv.Items.Item[i].SubItems[1]);
end;
Найденые результаты копируются в таблицу 2 (lv2)
begin...end (2005-12-29 19:04:00) [3]TCustomListView.FindCaption (параметр Partial = True).
Mikhail V (2005-12-29 14:45:00) [4]DevExpress
dracula (2005-12-29 14:26:00) [5]Типа забил первую букву и все слова которые на неё начинаются появились в списке?
for i := 0 to list.count do
begin
if List[i][1] = 'A' then ...
end;
Ivolg (2005-12-29 14:21:00) [6]?