Hallo wer-weiss-wasser,
Ich hab ein echtes Problem mit der TreeView:
Entweder ich bin zu blöd (was ich nicht hoffen will) oder die TreeView ist unvollkommen (was auch unschön wäre) aber erstmal das Problem:
Ich habe in einem Programm eine Treeview, in der befinden sich mehrere (um nicht zu sagen: ein menge) nodes, auch in mehreren ebenen.
Jetzt möchte ich eine Funktionalität einbauen, die die Sortierung der Nodes zwischen Alphabetisch und „Ursprünglich“ umschaltet.
Ok, alphabetisch einschalten ist kein Problem, for each node in nodes node.order=true usw…
Macht er auch alles wunderbar…
Aber: Ich möchte jetzt die alphabetische Sortierung wieder ausschalten. Also alle order=false setzen.
Aber das reicht nicht. Zwar werden jetzt neue Elemente nicht mehr einsortiert, aber die alten bleiben so stehen.
Die ursprüngliche Sortierung geht aus den Keys der Nodes hervor, also ist sie auch wieder per hand rekonstuierbar.
Das Problem stellt sich jetzt wie folgt dar:
Wie kann ich einen Node innerhalb einer Ebene verschieben? angenommen er steht in der mitte von 3 Nodes derselben Ebene; wie kann ich ihn ans ende stellen?
Dabei ist aber wichtig, das der Node verschoben wird; nicht etwa lediglich seine beschriftung (denn der Zugriff erfolgt per Key).
Außerdem sollen ja auch alle seine Childs mitgenommen werden.
Tja, an dieser vertrackten Situation hab ich mir bisher die Zähne ausgebissen.
Ach ja, ich habe schon eine Menge ausprobiert, zB über die next und previous property zu ändern, aber diese beiden sind (wie so viele beim treeview) read-only.
ich danke euch schon mal im Voraus vielmals, und hoffe auf eine antwort,
Gruß,
Tom