Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: Problem mit CustomSort in Listview

  Alt 7. Mär 2006, 08:41
Sehr geehrter Herr Kaiser,

also bei mir funktionierts....

Delphi-Quellcode:
Function AuswertungSortProc(Item1, Item2: TListItem; Data: Integer): Integer; stdcall;
Var
  prio1, prio2: integer;

Begin
  If Item1.Caption <> Item2.Caption Then
    Result := CompareText(Item1.Caption, Item2.Caption)
  Else Begin
    prio1 := strtoint(item1.SubItems[0]);
    prio2 := strtoint(item2.SubItems[0]);
    result := prio2 - prio1;
  End;
  If data = 1 Then Result := -Result;
End;

Procedure TForm1.btClick(Sender: TObject);

  Procedure _Add(aUser, aprio, aAufgabe: String);
  Begin
    With lvTest.Items.Add Do Begin
      Caption := aUser;
      SubItems.Add(aPrio);
      SubItems.Add(aAufgabe);
    End;
  End;

Begin
  _Add('user2', '120', 'aufgebe 876');
  _Add('user1', '1200', 'aufgabe abce...');
  _Add('user1', '200', 'aufgabe 123');
  _Add('user1', '100', 'aufgabe 345');
  _Add('user1', '200', 'aufgabe cde');
  lvTest.CustomSort(@AuswertungSortProc, 0);
End;
Nach user aufsteigend, nach Prio absteigend. Wo ist jetzt Dein Problem?

[edit] Code verhübscht [/edit]
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat