Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: VCL / WinForms / Controls (https://www.delphipraxis.net/24-library-vcl-winforms-controls/)
-   -   Delphi Wie kann ich eine ListView sortieren (https://www.delphipraxis.net/283-wie-kann-ich-eine-listview-sortieren.html)

Daniel B 28. Jun 2002 14:44


Wie kann ich eine ListView sortieren
 
Hi,

viele fragen sich bestimmt wie man ene ListView überhaupt sortiert.

Delphi-Quellcode:
procedure ListViewsColumnClick(Sender: TObject;
Column: TListColumn);
procedure ListViewsCompare(Sender: TObject; Item1,
Item2: TListItem; Data: Integer; var Compare: Integer);

private
  { Private declarations } 

  ColumnToSort: Integer;

public
  { Public declarations } 

end;

implementation
{$R *.dfm}
Hier erstmal die Sortier-Prozeduren:

Delphi-Quellcode:
procedure TForm1.ListViewsColumnClick(Sender: TObject;
  Column: TListColumn);
begin
  ColumnToSort := Column.Index;
  (Sender as TCustomListView).AlphaSort;
end;

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;
end;
Aufgerufen wird damit:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ColumnToSort := 0; //hier also der Index der Spalte, nach der Sortiert werden soll
  ListView1.AlphaSort;
end;

CalganX 13. Mai 2004 17:28

Re: Wie kann ich eine ListView sortieren
 
Der User alcaeus hat die Methode ein wenig verfeinert, damit auch auf- bzw. absteigend sortiert werden kann: http://www.delphipraxis.net/internal...ct.php?t=23835


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz