Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#4

Re: Welche Möglichkeiten gibt es in ListView alph. zu sortie

  Alt 27. Sep 2008, 19:56
Danke, hat mir weitergeholfen.

Für alle die über die Suche nach gleichen Problem hier gelandet sind, hier eine kurze Zusammenfassung.

Es gibt zwei Möglichkeiten zu sortieren:

Möglichkeit 1

Delphi-Quellcode:
// Zuerst
ListView1.ViewStyle := vsReport;
ListView1.SortType := stData;

...

//OnCompare
procedure TForm1.ListView1Compare(Sender: TObject; Item1,
  Item2: TListItem; Data: Integer; var Compare: Integer);
begin
  if StrToDate(Item1.Caption) > StrToDate(Item2.Caption) then
    Compare := 1
  else
    if StrToDate(Item1.Caption) < StrToDate(Item2.Caption) then
      Compare := -1
    else
      Compare := 0;
end;

...

// Sortiert wird über Aufruf
ListView1.AlphaSort;

Möglichkeit 2

Delphi-Quellcode:
// Zuerst
ListView1.ViewStyle := vsReport;

...

function CustomSortProc(Item1, Item2: TListItem; ParamSort: integer): integer; stdcall;
begin
  if StrToDate(Item1.Caption) > StrToDate(Item2.Caption) then
    Result := 1
  else
    if StrToDate(Item1.Caption) < StrToDate(Item2.Caption) then
      Result := -1
    else
      Result := 0;
end;

...

// Sortiert wird über Aufruf
ListView1.CustomSort(@CustomSortProc, 0);
  Mit Zitat antworten Zitat