Hallo.
Ich möchte sortieren nach Alphabet und zwar nicht alles sondern nur den Root.
Ich finde dazu nichts... Kein einziger Lazarus SortTopLevelNodes in google...
TopLevelCount gibt ja schon mal den Wert vom allen Roots.
TreeView1 Punkt items zeigt mir SortTopLevelNodes also nehme ich mal an das ich auf den richtigen Weg bin.
Alphasort sortiert leider alles und das will ich ja nicht.
TreeView1.Items.SortTopLevelNodes( ? . ? );
Was muss bei die ? hin?
Grüße.
TreeView Sort Top Level Nodes
Re: TreeView Sort Top Level Nodes
Probier mal so:
Code: Alles auswählen
uses ...,LazUTF8;
function TForm1.TreeNodeCompare(Node1, Node2: TTreeNode): integer;
begin
if (Node1.Level = 0) and (Node2.Level = 0) then
Result := Utf8CompareStr(Node1.Text, Node2.Text)
else
Result := Node1.Index - Node2.Index;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
TreeView1.CustomSort(@TreeNodeCompare);
end;
Re: TreeView Sort Top Level Nodes
Es funktioniert! Danke!