Einzelnen Beitrag anzeigen

Benutzerbild von Waaaghboss
Waaaghboss

Registriert seit: 28. Okt 2003
Ort: Schwerin
15 Beiträge
 
Delphi 11 Alexandria
 
#1

Listview sortieren über Button?

  Alt 12. Nov 2004, 13:58
Hi Profies 8) ,

ich möchte meine Listview Auf- bzw. Abwärts sortieren konnen. Das habe ich ja auch schon erfahren, aber ich möchte nicht auf den "Column Sort Button" der Listview drücken, sondern auf ein Label, das dann quasi dadrauf verlinkt!

Kann mir wer Helfen?

Delphi-Quellcode:
procedure TFMain.ListColumnClick(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 TFMain.ListCompare(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;
end;

procedure TFMain.AnredeClick(Sender: TObject);
begin
  ... <-- WAS MUSS HIER REIN?
end;
Ich habe es schon mit folgendem probiert, aber er sortiert dabei nur einmal von A bis Z und dann passiert nach erneuten clicken nichts mehr. Ich hätte gerne eine Auf-/Abwärts Sortierung.

Delphi-Quellcode:
procedure TFMain.AnredeClick(Sender: TObject);
begin
  ColumnToSort := 0;
  List.AlphaSort;
end;
Danke schonmal im Voraus, MfG Waaaghboss
Zu denken, was wir hätten tun können, ist eine Tätigkeit, die uns zu denken geben sollte...
  Mit Zitat antworten Zitat