![]() |
treeview count hauptknoten
ich habe ein treeview
Code:
wenn ich aber .Items.Count nehme, bekomme ich nicht 2 sondern 6
name
..name ..irgendwas name ..name ..irgendwas wie kann ich nur die ersten name zählen? mfg |
Re: treeview count hauptknoten
Hallo,
Ermittle den ersten Node und dann in einer Schleife mit getNextSibling die Nodes auf der gleichen Ebene.
Delphi-Quellcode:
var
iNodes: Cardinal; Node: TTreeNode; begin iNodes := 0; if TreeView1.Items.Count > 0 then begin Node := TreeView1.Items[0]; while Assigned(Node) do begin Inc(iNodes); Node := Node.getNextSibling; end; end; end; |
Re: treeview count hauptknoten
Hi, Count liefert dir in einem Tree immer die Anzahl aller vorhandenen Knoten. Da bei ist die Ebene unerheblich. Du kannst mit TreeView.Items[0] den ersten Hauptknoten ermitteln. Der ist immer in der ersten Ebenen (wo sonst :) ). Dann kannst du mittels GetNextSibling den nächsten Knoten in der gleichen Ebene ermitteln. In einer while-Schleife kannst du das so lange tun, bis nil zurück kommt. Immer schön die Schleifendurchläufe mit zählen und schon hast du die Anzahl deiner Knoten einer Ebene.
Gruß oki [edit] Ohm, bin ich lahm! In Worten das was toms als Code geliefert hat. Gruß [/edit] |
Re: treeview count hauptknoten
Hi,
ich würde den Code noch etwas eindampfen:
Delphi-Quellcode:
Übrigens: Node.Count liefert immer die Zahl der ChildNodes. Auf Ebene 0 funktioniert das nicht, weil kein Parent zugänglich ist. Dort wird dann die Gesamtzahl der Knoten im Baum zurückgegeben. Trotz- und deswegen ist die Semantik aber sauber.
// EDIT: Signatur verbessert
function TopLevelCount(items: TTreeNodes): Integer; var node: TTreeNode; begin Result := 0; node := items.GetFirstNode; while Assigned(node) do begin Inc(Result); node := node.getNextSibling; end; end; Freundliche Grüße |
Re: treeview count hauptknoten
Cool! Wuste ich wirklich noch nicht, danke für den Tip, das kann ich sehr gut gebrauchen! :thumb:
Grüsse von TOC :stupid: ! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz