Можно так:
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
i: dword;
found: integer;
lvItem: TListItem;
S: string;
column: byte;
begin
s:='text'; //текст ля поиска
column:=3; //искать 0,1,(2)SubItems = 4
// search items and select if found
for i := 0 to listview1.Items.Count - 1 do
begin
found := -1;
lvItem := listview1.Items[i];
if column > 0 then
if lvItem.SubItems.Count >= Column then
found := AnsiCompareText(lvItem.SubItems[column - 1], S);
if found=0 then begin
// Выбор нескольких
listview1.RowSelect:=true;
listview1.MultiSelect:=true;
listview1.Selected :=lvItem ;
listview1.SetFocus;
// Выбор последнего и переход
listview1.RowSelect:=true;
listview1.MultiSelect:=false;
listview1.Selected :=lvItem ;
lvItem.MakeVisible(True); // переход
listview1.SetFocus;
end;
end;
end;