I'm dealing with large text files (bigger than 100MB). I'm using a TListView (OwnerData=True). ListView's OnData event gives me required items one by one.
procedure TForm1.ListView1Data(Sender: TObject; Item: TListItem);
begin
Item.Caption:=MyStringList.strings[Item.Index];
end;
But I need the full range of required items at once (after scrolling). I need this conceptual event:
procedure TForm1.ListView1DataRange(Sender: TObject; ItemIndexStarts: int64; ItemIndexEnds: int64);
begin
LoadMyItemsByRange(ItemIndexStarts,ItemIndexEnds);
end;
LoadMyItemsByRange is easy to implement. How can I get ItemIndexStarts and ItemIndexEnds values? Any idea is appreciated.