begin ColumnToSort := Column.Index; (Sender as TCustomListView).AlphaSort; end;
The OnCompare event handler causes the list view to sort on the selected column:
procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer); var ix: Integer; begin if ColumnToSort = 0 then Compare := CompareText(Item1.Caption,Item2.Caption) else begin ix := ColumnToSort - 1; Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]); end;
procedure TForm1.lvwebaddressCompare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer); var ix,order: Integer;
begin try //防止列还未加入是比较导致数组过解
if GPaiXu then order:=1 else order:=-1; PTCategory(tvfenlei.Selected.data)^.HSortMode:=GPaiXu; if FAdding = false then begin if ColumnToSort = 0 then Compare := CompareText(Item1.Caption,Item2.Caption)*order else begin ix := ColumnToSort - 1; Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix])*order; end; end; except end;