Hallo
du kannst das oncompare ereignis ändern und dort nach der 2. zusätzlichen Spalte sortieren, wenn mehr Spalten sind, kommst du mit einem Columtosortarray und einer kleinen Schllife sicher besser.
hier Denksanstoß für 2 Sortierspalten, brauchst dazu eine 2. Columtosortvariable:
Delphi-Quellcode:
procedure TForm1.ListViewsCompare(Sender: TObject; Item1,
Item2: TListItem; Data: Integer; var Compare: Integer);
var
i:integer;
begin
if ColumnToSort = 0 then
Compare := CompareText(Item1.Caption, Item2.Caption)
else
begin
i := ColumnToSort -1;
Compare := CompareText(Item1.SubItems[i], Item2.SubItems[i]);
end;
if compare=0 then //wenn Einträge gleich sind, dann nach einer 2. Spalte sortieren
begin
if ColumnToSort2 = 0 then
Compare := CompareText(Item1.Caption, Item2.Caption)
else
begin
i := ColumnToSort2 -1;
Compare := CompareText(Item1.SubItems[i], Item2.SubItems[i]);
end;
end;
Mfg Frank