Forums Neueste Beiträge
 

Tree View: Leere Nodes, die als Collapsed angezeigt werden sollen?

06/09/2009 - 20:13 von leslie eldrige | Report spam
Hallo Zusammen,

Ich mache gerade eine kleine Console mit der ich Active Directory
durchsuchen kann. Im Prinzip das gleiche wie man es von Microsoft Management
console her kennt.
Die Darstellung der OUs und Objects làuft problemlos, jedoch gibt es einen
kleinen Schönheitsfehler. Um Performance gut zu halten, hole ich gerade nur
die erste Ebene. Wenn diese dann in der Treeview dargestellt wird, dann ist
der Collaps (+) Zeichen nicht vorhanden, weil es keine Subnodes gibt (da ich
ja diese aus Performancegründen eben nicht einfüge).
Nun bei Microsoft Management Console wird die erste Ebene standardmàssig mit
einem Collapsed Zeichen (+) angezeigt. Die Berechnung der Subnodes passiert
dann wenn man drauf klickt. Also Microsoft fügt standardmàssig zu jedem Node
ein + Zeichen damit der User eingeleitet wird darauf zu klicken, aber das
muss nicht zwingend bedeuten, dass es auch welche Subnodes dann auch gibt!

Ich würde dies in meiner console auch gern so machen, jedoch finde ich keine
Eigenschaft mit der ich meine Nodes als Collapsed anzeigen kann auch wenn
darunter keine Subnodes existieren. Weiss jemand vielleicht wie ich das
machen kann?

Danke
les

PS: Ich habe versucht neben der ersten Ebenen auch die zweite Ebene
(Subnodes) zu füllen (dann erscheint das Collapüsed Zeichen natürlich
automatisch, wenn Subnodes vorhanden sind), jedoch ist die Performace zum
Teil sehr schlecht so dass diese Lösung leider nicht in Frage kommt.
 

Lesen sie die antworten

#1 Thorsten Doerfler
06/09/2009 - 20:33 | Warnen spam
leslie eldrige schrieb:
PS: Ich habe versucht neben der ersten Ebenen auch die zweite Ebene
(Subnodes) zu füllen (dann erscheint das Collapüsed Zeichen natürlich
automatisch, wenn Subnodes vorhanden sind), jedoch ist die Performace zum
Teil sehr schlecht so dass diese Lösung leider nicht in Frage kommt.



Wàre aber der Weg, den Du gehen musst. Eine Eigenschaft einen Node
expandable zu machen, gibt es nicht, dazu muss mindestens 1 Subnode
vorhanden sein.

Deine Performance kannst Du ggf. dadurch verbessern, indem Du den Tree
erst einmal "trocken" zusammenstellst, sprich nicht über die Nodes
Auflistung des TreeView, sondern durch freie Instanziierung eines
TreeNode an den Du dann alle benötigten Nodes anhàngst und diesen
nachher komplett an die Nodes-Auflistung des TreeView anhàngst.
Zusàtzlich kann durch Verwendung der Methoden BeginUpdate vor dem
Anfügen und EndUpdate nach Abschluss des Anfügens noch einmal
Performance gewonnen werden.

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen