Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   TreeView im DBGrid (https://www.delphipraxis.net/169079-treeview-im-dbgrid.html)

claudine99 27. Jun 2012 14:23

TreeView im DBGrid
 
Liebe Leute,

hat jemand eine Idee, ob es eine Delphi- Komponente wie ein DBGrid gibt,in dessen erste Spalte man ein TreeView integrieren kann?
Zum Beispiel steht dann in der ersten Zeile und Spalte ine Angabe mit vorangestelltem '+' und nach dem Anklicken klappen 4 weitere Zeilen auf. Oder hat jemand so etwas schon einmal selbst "gebastelt"?

Vielen Dank für jede Info!

DeddyH 27. Jun 2012 14:27

AW: TreeView im DBGrid
 
Du meinst Gruppierung? Von DevExpress gibt es eine Grid, die das kann, ist allerdings nicht billig.

Furtbichler 27. Jun 2012 20:46

AW: TreeView im DBGrid
 
Na ja, wenn das wie eine TTreeView aussehen soll, dann kann man das doch einfach selbst machen. Lade die Daten, die in der ersten Ebene stehen und erstelle für jeden Datensatz einen Knoten. Der Knoten bekommt einen 'Dummy'-Kindknoten (damit das '+' erscheint).

Im OnExpand-Ereignis prüfst Du, ob der Dummy-Knoten noch da ist. Wenn ja, verwirfst Du ihn und lädst dann die Kindknoten des Knotens, dessen + geklickt wurde (und erstellst für jeden Kindknoten natürlich wieder ein 'Dummy-Childknoten')

Bei DevExpress gibt es eine TDBTreeView (gibts auch bei den Jedis?). Die Grid-Komponente kann 'nur' Master-Detail Beziehungen darstellen. Über 7-Ecken bekommt man aber auch eine Treeview damit hin, d.h. kann hierarchische Beziehungen anzeigen.

ibp 28. Jun 2012 09:15

AW: TreeView im DBGrid
 
Zitat:

Zitat von Furtbichler (Beitrag 1172732)
...Der Knoten bekommt einen 'Dummy'-Kindknoten (damit das '+' erscheint)...

das kann man auch mit
Delphi-Quellcode:
node.haschilds := true
lösen, dann braucht man kein Dummy.

DeddyH 28. Jun 2012 09:41

AW: TreeView im DBGrid
 
Zitat:

Anmerkung: Wird HasChildren für ein Knotenobjekt auf true gesetzt, das seinerseits keine untergeordneten Objekte hat, wird zwar das Pluszeichen (+) dargestellt, der Knoten lässt sich jedoch nicht erweitern.
Klingt nicht sonderlich nützlich.

ibp 28. Jun 2012 09:44

AW: TreeView im DBGrid
 
Zitat:

Zitat von DeddyH (Beitrag 1172776)
Zitat:

Anmerkung: Wird HasChildren für ein Knotenobjekt auf true gesetzt, das seinerseits keine untergeordneten Objekte hat, wird zwar das Pluszeichen (+) dargestellt, der Knoten lässt sich jedoch nicht erweitern.
Klingt nicht sonderlich nützlich.


na die neuen Knoten werden dann ja erst aus der DB geladen und dann erstellt

DeddyH 28. Jun 2012 09:47

AW: TreeView im DBGrid
 
OK, so gesehen wäre das eine Möglichkeit, zumindest weniger umständlich als Dummy-Knoten zu erzeugen, beim Aufklappen nachschauen, ob dieser vorhanden ist und ihn dann wieder zu löschen (was ich auch meist so handhabe, muss ich zugeben).

ibp 28. Jun 2012 11:15

AW: TreeView im DBGrid
 
wenn man es ganz geschickt machen will, dann fragt man gleich beim erstellen der Ebene mit ab, ob der jeweilige Knoten überhaupt Kinder besitzt.

Es gibt nichts blöderes, als wenn man auf ein '+' drückt und dann nichts passiert nur weil man überall Dummies daran hängen hat. Ein wenig mehr nachgedacht beim erstellen der Knoten und dann hat man im Baum auch die maximale Übersicht!


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:54 Uhr.

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