Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Verständnis Dataset->DataSource->DbGrid ? (https://www.delphipraxis.net/150405-verstaendnis-dataset-datasource-dbgrid.html)

totti14 15. Apr 2010 21:24

Datenbank: TJvMemoryData • Zugriff über: ADO

Verständnis Dataset->DataSource->DbGrid ?
 
Hallo zusammen,
ich habe folgende Komponenten auf meinem Form liegen:

JvMemoryData -> DataSource > DBGrid

In dem Grid werden nun die Daten aus MemoryData, wie User,PW usw angezeigt.
Im Hintergrund kommen aber Pakete , per Internet, rein, die dann dem jeweiligem User zugeordnet werden müssen.
So wird bei jedem Paket die Datenbank durchgeklappert.
Es sind übrigens nur ca. 100 Einträge.

Das Problem ist jetzt aber, das sich das ganze unschön im Grid bemerkbar macht. Es flackert halt.
Selbst mit MemoryData.DisableControls/EnableControls sieht das nicht schön.

Nimmt man da eine Kopie der Tablelle zum suchen, oder wie kann ich das unabhängig machen.

Meine letzte DB Anwendung ist auch schon 15 Jahre her :gruebel:

Gruß
totti

mkinzler 16. Apr 2010 05:31

Re: Verständnis Dataset->DataSource->DbGrid ?
 
Sperre das Grid und nicht das dataSet während der Aktualisierung

hoika 16. Apr 2010 07:33

Re: Verständnis Dataset->DataSource->DbGrid ?
 
Hallo,

Zitat:

Das Problem ist jetzt aber, das sich das ganze unschön im Grid bemerkbar macht. Es flackert halt.
Selbst mit MemoryData.DisableControls/EnableControls sieht das nicht schön.

Nimmt man da eine Kopie der Tablelle zum suchen, oder wie kann ich das unabhängig machen.

Das sind genau 2 Dinge, die mit der DB gemacht werden sollen.

Anzeige
Suche

Das heisst, zwei DataSets.


Heiko

totti14 16. Apr 2010 10:04

Re: Verständnis Dataset->DataSource->DbGrid ?
 
Zitat:

Zitat von hoika
Hallo,

Zitat:

Das Problem ist jetzt aber, das sich das ganze unschön im Grid bemerkbar macht. Es flackert halt.
Selbst mit MemoryData.DisableControls/EnableControls sieht das nicht schön.

Nimmt man da eine Kopie der Tablelle zum suchen, oder wie kann ich das unabhängig machen.

Das sind genau 2 Dinge, die mit der DB gemacht werden sollen.

Anzeige
Suche

Das heisst, zwei DataSets.


Heiko

Hi,
und wie halte ich beide Datasets gleich ?

totti

mschaefer 16. Apr 2010 10:59

Re: Verständnis Dataset->DataSource->DbGrid ?
 
Moin, moin

STATUS:
- Wenn ich das richtig verstanden habe, ist Dein Problem, dass Dein Grid beim Eintragen durchlaufen wird.
- Die besonerheit des MemoryDataSet ist dass keine Datenbank dahinter ist, auf die man zwei DataSets verbinden kann.
- Dein Grid scheint ein nur lesen Grid zu sein.

Nehmen wir Hoika´s Vorschlag und bauen Ihn aus:

- DataSets, einer zum Anzeigen, der andere zum Eintragen ins Grid.
- InternetDataSet wird in unregelmäßigen Abständen aktualisiert, wenn Pakete kommen
- GridDataSet wird in festen Abständen (Timer) neu aufgebaut.
....Alles löschen
....aus InternetDataset einlesen (mit Schleife durchlaufen)
....Grid flackert nur regelmäßig beim neu Aufbau (eventuell Doublebuffered := true setzen)


So long // Martin

totti14 16. Apr 2010 11:15

Re: Verständnis Dataset->DataSource->DbGrid ?
 
Danke

Das werde ich gleich mal probieren.

Im Grid wird schon geschrieben, aber nur selten.
Es müsste dann ja anders herum sein.
Internetdataset aktualisieren, wenn es im Grid was neues gibt.
Die Daten im UserGrid werden später im Text Format wieder gespeichert.

Gruß
totti


Edit:

Danke allen

Es läuft mit zwei Dataset's prima :)
Kopieren tue ich die bei jedem Post mit tmpDataSet.CopyStructure(Grid.dataset);


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:50 Uhr.

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