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 Wie kann ich das Zusammenklappen eines DB-Baums verhindern? (https://www.delphipraxis.net/93562-wie-kann-ich-das-zusammenklappen-eines-db-baums-verhindern.html)

newgro 7. Jun 2007 13:39


Wie kann ich das Zusammenklappen eines DB-Baums verhindern?
 
Hi *,

ich benutze einen TDTADOTree. Dem gebe ich eine Datasource und eine Abfrage (Join auf 2 Tabellen).
Wenn ich einen Eintrag aus diesem Baum ändere und danach die Abfrage erneut ausführe, damit der Baum
aktualisert wird klappt er zusammen. Wie kann ich das verhindern (Methode oder Eigenschaft des Baums ändern)?

Delphi-Quellcode:
procedure store;
begin
  // hole die id des geänderten DS
  // ändere die Daten
  refreshTree;
end;

procedure refreshTree;
begin
  if query.Active then
    query.Close;
  query.Open;
end;
Danke
Per

mkinzler 7. Jun 2007 13:42

Re: Wie kann ich das Zusammenklappen eines DB-Baums verhinde
 
Merke dir den Zustand und rekonstruiere ihn nach dem Update des Datasets.

newgro 7. Jun 2007 13:50

Re: Wie kann ich das Zusammenklappen eines DB-Baums verhinde
 
Hallo mkinzler,

Und was ist da die beste Strategie? Merke ich mir den focused node oder die id des datensatzes?
Gibt es eine einfache Möglichkeit den Knoten auszuwählen?

Danke
Per

Bernhard Geyer 7. Jun 2007 13:52

Re: Wie kann ich das Zusammenklappen eines DB-Baums verhinde
 
Zitat:

Zitat von newgro
Und was ist da die beste Strategie? Merke ich mir den focused node oder die id des datensatzes?

Ich kenn die Komponente nicht aber ich vermute die hat eine Methode um den Primärschlüssel des selektierten Knotens auszulesen und auch eine Methode um den Tree entsprechend zu positionieren.

newgro 7. Jun 2007 14:18

Re: Wie kann ich das Zusammenklappen eines DB-Baums verhinde
 
Also auslesen geht mit
Delphi-Quellcode:
v:= tree.DataSource.DataSet.FieldByName(tree.DBTreeFields.KeyFieldName).Value;
Dann habe ich eine eindeutige id. Leider weiss ich nicht, wie ich dem Baum sagen kann, das er
die id wieder setzen soll.

PS: Ich habe beim Rumprobieren Methoden für Bookmarks gefunden. Kann ich sowas vielleicht benutzen?

Danke
Per

mkinzler 7. Jun 2007 14:58

Re: Wie kann ich das Zusammenklappen eines DB-Baums verhinde
 
Hast du mal .UpdateDataSet ausprobiert?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 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-2025 by Thomas Breitkreuz