Wenn dies Ihr erster Besuch hier ist,
lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen
durch. Sie müssen sich vermutlich registrieren,
bevor Sie Beiträge verfassen können. Klicken Sie oben auf 'Registrieren', um den Registrierungsprozess zu
starten. Sie können auch jetzt schon Beiträge lesen. Suchen Sie sich einfach das Forum aus, das Sie am meisten
interessiert.
falls die Knoten in deinem Baumm alle vorhanden sind (nicht dynamisch nachgeladen werden) kannst du dir mit TreeView->Selected->AbsoluteIndex den Index des gerade gewählten Knoten merken.
Mit TreeView->Items->Item[gemerkterIndex]->Selected = true, kannst du den Knoten wieder auswählen.
Wo Ihr gerade dabei seid:
Ich versuche, aus einer DB ausgelesene Daten nach einem bestimmten Regeln in einen TV reinzusortieren. Problem ist der Index. Die Daten müssen unter drei Hauptknoten einsortiert werden. Das Auslesen erfolgt Datensatz für Datensatz in einer while-Schleife. Daher ist nicht klar, welche Regel als nächste "vor der Tür steht". Blöderweise sortiert mir die Schleife das ganze falsch. Hat jemand eine Idee?
Hi Markus,<br>
was erwartest Du?<bR>
Du schreibst, daß Du ein Problem mit dem Index hast<br>
Index der DB oder Index von TV.<bR>
Woran erkennst Du welche Regel zum Zuge kommen muß?<br>
Es mag ja blöd klingen, aber die Schleife hast Du geschrieben, daher macht sie das was Du getippt hast.<bR>
<br>
Wenn Du etwas genauer beschreibst was das Problem ist, bekommst Du sicher Hilfe.<br>
<br>
Chri
gemeint war der Index des TV. Die Regeln sind genaugenommen Benutzergruppen. Derer sind 3 vorhanden und in der Datenbank als Bit-Wert angelegt. Im TV bildet jede Gruppe einen Knoten. Unter diesen 3 Knoten sollen dann die Benutzer angelegt werden. Und genau dieses Einsortieren will nicht so recht funken. An dieser Stelle macht mir der Index des TV einen Strich durch die Rechnung. Von VB her kenne ich die Möglichkeit, einem Knoten einen eindeutigen Schlüssel zuzuweisen. Gibt's sowas vielleicht auch unter C++?
So, ich hoffe mal, dass mein Problem ein wenig genauer Beschrieben ist.
Hi Markus,<br>
ich glaube ich weiß wo das Problem liegt.<br>
Wenn Du einen Knoten einfügst, ändern sich bei einem oder zwei Deiner 3 Hauptknoten die Position in der Knotenliste.<br>
Am besten Du merkst Dir die Zeiger der 3 Hauptknoten, z.B. in einem Array.<br>
Jeder Knoten hat die Eigenschaft HTREEITEM ItemId, ein eindeutiges Handle.<br>
Mit GetNode(HTREEITEM) bekommst Du den Zeiger auf den Knoten zu diesem Handle.<br>
Ich würde mir den Knoten selber merken, anstatt über das Handle zu gehen.<br>
<br>
Was besseres kann ich leider nicht anbieten.<br>
<br>
Chri
Wenn Du selber einsortieren möchtest, so benutze<br>
TCustomSort und schreibe Deine Sortierroutine selbst.<br>
Bei TlistView mache ich dieses auch, und das hatten wir <br>
hier schon im Forum. Einfach mal danach suchen.<br>
Der Aufbau ist bei TV der selbe.<br>
Comment