ListView Sortieren erweitert (mit IP)
MfG Florian
Ich habe den Code aus der Delphi-Hilfe zum Sortieren einer ListView etwas modifiziert, nun können die Listen auf- und absteigend sortiert werden, dies geschieht mit einem wiederholten Klick auf eine Spalte.
Delphi-Quellcode:
var
ColumnToSort: Integer;
LastSorted: Integer;
SortDir: Integer;
procedure TForm1.ListView1ColumnClick(Sender: TObject; Column: TListColumn);
begin
ColumnToSort := Column.Index;
if ColumnToSort = LastSorted then
SortDir := 1 - SortDir
else
SortDir := 0;
LastSorted := ColumnToSort;
(Sender as TCustomListView).AlphaSort;
end; //procedure TForm1.ListView1ColumnClick
procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer);
var
ix: Integer;
begin
if ColumnToSort = 0 then
begin
if SortDir = 0 then
Compare := CompareText(Item1.Caption,Item2.Caption)
else
Compare := CompareText(Item2.Caption,Item1.Caption);
end //if ColumnToSort = 0 then
else
begin
ix := ColumnToSort - 1;
if SortDir = 0 then
Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix])
else
Compare := CompareText(Item2.SubItems[ix],Item1.SubItems[ix]);
end; //if ColumnToSort <> 0 then
end; //procedure TForm1.ListView1Compare
[edit=Admin]Highlighting korrigiert. Mfg, Daniel[/edit]