Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Aktualisierung der Steuerelemente / Clone (https://www.delphipraxis.net/72679-aktualisierung-der-steuerelemente-clone.html)

Groba 5. Jul 2006 10:09

Datenbank: MSSQL • Zugriff über: ADO

Aktualisierung der Steuerelemente / Clone
 
Hallo Leute,

Habe folgende Situation:

Ich zeigen den Inhalt verschiedener Datenbankfelder über Steuerelement an.
Die Datensätze werden in ADODataSet bereitgestellt. Via DataSource ist dies
mit den Steuerelementen verbunden.

Um nun Verarbeitungen an den geladenen Datensätzen mit unabhängigem Cursor vorzunehmen
erstelle ich ein Clone des ADODataSet

-------------------------
var
DBFremdleistung: TBetterADODataSet;

begin
DBFremdleistung:= TBetterADODataSet.Create(self);
DBFremdleistung.Recordset:=ADODataSetFremdleistung .Recordset.Clone(3);

... div. Verarbeitungen an den Datensätzen

end;
-------------------------

Nun werden die datensensitiven Steuerelemente beim wechseln des Inhaltes
(welche via das Clone vorgenommen wurden) nicht automatisch nachgeführt.

Hat mir jemand ein Typ, was zu tun ist, um dass die Steuerelement bei Änderungen
(Clone) die Darstellung aktualisieren.......

Vielen Dank....

marabu 5. Jul 2006 10:24

Re: Aktualisierung der Steuerelemente / Clone
 
Hallo,

du könntest die Eigenschaft DataSet der Komponente DataSource, welche für die Visualisierung in datensensitiven Komponenten zuständig ist, vorübergehend auf deinen Clone-DataSet setzen !?

Grüße vom marabu

Groba 6. Jul 2006 15:52

Re: Aktualisierung der Steuerelemente / Clone
 
Ja das wäre durchaus eine Variante...

In meinem Falle handelt es sich jedoch um ADODataSet's welche sich in einem DatenModul befinden und auf welche von diversen DataSourcen zugegriffen wird... welche mir nicht zwingend bekannt sind......

Habe inzwischen noch eine andere Möglichkeit gefunden, welche meinen Wünschen entsprechen könnte:

-----------------
DBZubehoer:= TBetterADODataSet.Create(self); // HilfsDB für Bearbeitungen
DBZubehoer.Recordset:=ADODataSetZubehoer.Recordset .Clone(3); // Clone der HauptDB erstellen
ADODataSetZubehoer.DisableControls;

//.......................
//div. Bearbeitungen an DBZubehoer
//.......................

DBZubehoer.Free;
ADODataSetZubehoer.EnableControls;
-----------------


Durch DisableControls und anschliessendes EnableControls werden die Daten alle Sensitiven Steuerelemente
anscheinend erneuert, falls sich diese geändert haben.....

marabu 6. Jul 2006 17:08

Re: Aktualisierung der Steuerelemente / Clone
 
Du hast mit DisableControls und EnableControls eine gute Methode gefunden um eine Aktualisierung der datensensitiven Komponenten nach der Bearbeitung der Daten sicher zu stellen. Mein Vorschlag hingegen zielte auf die permanente Aktualisierung während einer Bearbeitung.

Hast du einen besonderen Grund warum du nicht mit dem ursprünglichen DataSet arbeitest? Der Bookmark-Mechanismus von TDataSet macht es eigentlich nicht nötig den RecordSet zu clonen. Oder hast du Filterprobleme?

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:51 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