Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Records Nodes in einem TreeView zuordnen?
Christian V. - Di 15.04.08 23:59
Titel: Records Nodes in einem TreeView zuordnen?
Ich möchte jedem Node ein Record zuweisen, um so einfach Daten für ein Item zu speichern. Allerdings weiss ich nicht so genau, wie ich das am besten anstellen soll.
Ich mir bis jetzt mal folgendes überlegt: Ich erstelle ein zusätzliches Feld im Record, in Welchem ich die Referenz auf den dazugehörigen Node speichere. Die Records verwalte ich in einer Liste und durchsuche dann halt immer die Liste bis ich den Record für den selektierte Node finde. Ich denke nicht, dass dies eine sehr performante Lösung ist :D (ich hab zwar höchstens 50 Nodes wo das dann keine Rolle spiel, aber trotzdem)
Habt ihr mir ein paar Ansätze wie ich das realisieren könnte?
Christian V. - Sa 19.04.08 01:04
Danke für deine Antwort. Das verstehe ich nun aber nicht ganz. Was nützt es mir, wenn die Komponente selbst records benutzt?
Ich möchte doch nur zu jedem Eintrag zusätzlich gewisse Daten speichern. Ich will so zusagen Attribute zu einem Node speichern. Vielleicht erkläre ich es auch nur doof :D
jaenicke - Sa 19.04.08 01:21
Genau das macht die Komponente doch. Dann hast du doch in deinem Record die Daten zu jedem Eintrag.
Christian V. - Sa 19.04.08 03:18
Oh, tut mir leid. Jetzt habe ich die Beschreibung dazu auf Delphi-Treff gesehen.
Nur ein Problem habe ich noch: Ich habe Turbo Delphi :arrow: kann keine Komponenten installieren. Kann man die nicht irgendwie zur Laufzeit instanzieren?
alzaimar - Sa 19.04.08 09:06
Ja kann man. Du kannst aber auch eine TTreeview nehmen. Eine TTreeNode hat die Eigenschaft 'Data:Pointer', in dem du dein Record ablegen kannst. Du musst nur dafür sorgen, das beim Löschen eines Knotens der belegte Speicher wieder freigegeben wird (OnDeletion-Event). Ich verwende die TTreeView z.B. für Optionseinstellungen, wie man das aus dem Optionen-Dialog von Delphi kennt. Die Geschwindigkeit ist wirklich lausig, aber für 'normal große' Baumstrukturen reicht diese native Komponente allemal.
Die VirtualTreeView-Komponente ist natürlich wesentlich flexibler und für große Datenmengen geeignet.
Christian V. - Mi 23.04.08 17:11
Vielen Dank für deine Antwort.
Die Eigenschaft Data war genau wonach ich gesucht hatte :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!