Einzelnen Beitrag anzeigen

Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: ListView 2 mal Sportieren nicht möglich?

  Alt 10. Feb 2007, 13:35
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

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat