Einzelnen Beitrag anzeigen

Daniel B
(Gast)

n/a Beiträge
 

Wie kann ich eine ListView sortieren

  Alt 28. Jun 2002, 14:44
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;
  Mit Zitat antworten Zitat