Mega Code Archive

 
Categories / Delphi / VCL
 

How to Sort a TListView Delphi component

Title: How to Sort a TListView Delphi component When you are working with a TListView component and want to sort the items based on a custom criteria, you can use the following idea... Suppose you have assigned numbers for the TListItem Caption property and need to sort the ListView when displayed in a report-style. To use custom sorting handle the OnCompare event. If an OnCompare event handler is assigned, AlphaSort method uses that event handler to define the sort order - call AlphaSort to sort the items. ~~~~~~~~~~~~~~~~~~~~~~~~~ procedure TForm1.ListView1Compare( Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer) ; var intItem1, intItem2: Integer; begin intItem1 := StrToInt(Item1.Caption) ; intItem2 := StrToInt(Item2.Caption) ; if intItem1 Compare := -1 else if intItem1 intItem2 then Compare := 1 else // intItem1 = intItem2 Compare := 0; end; ~~~~~~~~~~~~~~~~~~~~~~~~~