Zitat von
shmia:
Zitat von
siles:
Bei der normalen VirtualTreeView konnte man einen Record anlegen und so mehrere Daten einem Node zuweisen, ich weiss nicht wie das damit gehen soll weil ja nur ID, PID und der Name als Eigenschaften angegeben werden können.
Zusätzlich zu diesen Properties muss es ja noch ein DataSource Property geben, damit wird eine
Query oder Table an das DBTreeView angebunden.
Wie oben gesagt, wenn du im DBTreeView einen bestehenden Knoten anklickst, da steht das Dataset genau auf diesem Datensatz.
Das DBTreeView übernimmt hier die Aufgabe eines DBNavigators.
Das Ändern von Daten geht dann so:
Delphi-Quellcode:
Query1.Edit;
Query1['User'] := aktuellerUser;
Query1['LastChange'] := Now;
Query1.Post;
Das Löschen des aktuellen Knotens ist auch einfach:
query1.Delete;
Das Einfügen eines neuen Kindknoten ist etwas schwieriger, weil man dazu eine neue ID benötigt.
Mit folgender
SQL-Abfrage kann man sich diese ID besorgen.
SELECT Max(ID)+1 AS NewID FROM Tabelle
Zusätzlich benötigt man noch die ParendID - diese lässt sich höchstwahrscheinlich über das DBTreeView erhalten
; das Property könnte ParentValue oder so ähnlich heisen. (dieses Property ist readonly und deshalb im
OI unsichtbar)
Ah! Ich dachte der holt sich die Daten nur aus der Datenbank, zeichnet den Tree und hat dann nichts mehr mit der Datenbank zu tun.
Wenn das so ist könnte ich diese vermutlich doch verwenden! Ich schaue mir es nochmals genauer an - morgen.
Vielen herzlichen Dank schonmal!