Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi JvDBTreeView Zustand der Nodes tempörär speichern (https://www.delphipraxis.net/180874-jvdbtreeview-zustand-der-nodes-tempoeraer-speichern.html)

apm 26. Jun 2014 09:54

JvDBTreeView Zustand der Nodes tempörär speichern
 
Hi,
Ich habe eine DBTreeView (Jedi VCL) und lasse dort einen Tree zu einem DB-Teilbereich ausgeben.

Wenn ich jetzt einzelne Elemente hinzufüge / lösche / ändere mache ich immer einen FullExpend auf die TreeView.
Soweit will ich aber nur die Nodes offnen die vor dem Event geöffnet waren.

Da ich mit Nodes noch nie gearbeitet hab, fällt es mir gerade auch ein wenig schwer überhaupt einen Stich zu sehen. Und mit den gefundenen Themen komme ich auch nicht recht weiter.

Am einfachsten wäre es ja, wenn ich mir die offenen Nodes mit hilfe des MasterField temp speichere.
Dann hätte ich auch die richtigen Nodes sofern einer dre offenen beim bearbeiten gelöscht wird. Alle Infos die ich mit Level, Index oder AbsoluteIndex ermittle wären nur bedingt richtig.


Mehr als die Logik dahinter habe ich aber leider noch nicht ...



EDIT: Ich will den Zustand nicht in der DB speichern. Sonst hätte ich bei Tree X immer die Ansicht des letzten Bearbeiters.

apm 26. Jun 2014 13:58

AW: JvDBTreeView Zustand der Nodes tempörär speichern
 
Jetzt habe ich mir eine (semi-)gute Lösung zusammengebaut...

Ich speichere mir alle BeschriftungsTexte der offenen Nodes (StringArray) und nachdem die DB bearbeitet wurde gehe ich diese Liste durch und öffne die entsprechenden Nodes.

Damit fällt das Problem von gelöschten Nodes weg, da dieses ListenElement einfach nicht behandelt wird und für die bearbeiteten habe ich mir einen WorkAround zusammengebaut.

Dadurch das ich aber keinen eindeutigen Schlüssel habe kommt es bei gleichnamigen Elementen zu Problemen... :?


EDIT: Jetzt muss ich doch nochmal einhacken. Wie funktioniert die automatische Verknüpfung der Komponente beim Klick und der Umsetzung des Pointers in der Querry? Das würde die Grundlage für eine elegantere Lösung sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz