Einzelnen Beitrag anzeigen

sonic

Registriert seit: 14. Mär 2003
30 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Treeview nach zwei Kriterien sortieren

  Alt 21. Feb 2006, 15:16
Hallo!

Meine Lösung (eh im Prinzip dasselbe).

Vielleich noch ein Hinweis das CompareStr ist Case-Sensitiv, sortiert also groß und kleinbuchstaben ausainander sprich A-Z zuerst, dann kommen erst a-z...

CompareText macht das nicht. Kommt drauf an was du möchtest.

Delphi-Quellcode:
procedure TForm1.TreeView1Compare(Sender: TObject; Node1, Node2: TTreeNode;
  Data: Integer; var Compare: Integer);
begin
  Compare := 0;
  // Kriterium eins
  if (Node1.Text[1] = 'X') and (Node2.Text[1] <> 'X') then
     Compare := -1
  else if (Node2.Text[1] = 'X') and (Node1.Text[1] <> 'X') then
     Compare := 1;

  // Kriterium zwei, wenn Compare noch 0
  if Compare = 0 then
  begin
    if CompareText(Node1.Text, Node2.Text) < 0 then
      Compare := -1
    else if CompareText(Node1.Text, Node2.Text) > 0 then
      Compare := 1;
  end;

  // Kriterium drei, wenn Compare noch 0
  if Compare = 0 then
  begin
    //usw...
  end;

end;
  Mit Zitat antworten Zitat