Einzelnen Beitrag anzeigen

bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#1

DBGrid - 2 Zeilen gleichzeitig bearbeiten

  Alt 30. Jun 2010, 13:39
Datenbank: advantage databaser server • Version: 9 • Zugriff über: ads
Hi,

folgendes Problem:
Ich habe ein DBGrid mit X Datensätzen.
Nun will ich per Klick auf einen Button einen neune Datensatz erzeugen und mit einem Timer einem Feld immer eine Sekunde hinzuaddieren.
Soweit kein Problem, allerdings brauche ich jetzt die möglichkeit, während der eine Datensatz am hochzählen ist, einen anderen Datensatz auswählen und bearbeiten zu können.
Das sollte ja mit ClientDataSets machbar sein.

Ich habe jetzt folgenden Aufbau:

TQuery
DataSetProvider (angeschlossen an TQuery)
ClientDataSet1 (angeschlossen an DataSetProvider)
ClientDataSet2Klon (auch angeschlossen an DataSetProvider)
Datasource1 (angeschlossen an ClientDataSet1)
DBGrid (angeschlossen an Datasource1)
DBEdit (auch angeschlossen an Datasource1)

Nun einen Button, bei dem ich onClick einen Datensatz ans ClientDataSet1 anfüge und anschließend einen Timer starte, der ein Feld von ClientDataSet1 laufend aktualisiert.
Soweit geht das schonmal. Wenn ich nun im dbGrid einen andren Datensatz auswähle, läuft der Timer auch weiter und ich kriege im DBEdit den Text des jetzt ausgewählten Datensatzes angezeigt.

Das Problem: Soblad im DBEdit anfange den Text zu ändern (und somit in den edit mode gelange), wird das Feld das im Timer aktualisiert wird nicht mehr aktualisiert.
Wenn ich jetzt wieder einen anderen Datensatz im DBGrid auswähle, läuft die aktualisierung wieder weiter.

Kann mir da jemand einen Tip geben?


PS:
Evt. könnte man im onChange des EditFields ständig ein "ClientDataSet1.Post" machen, aber ist das eine gute lösung?

Geändert von bwolf (30. Jun 2010 um 13:51 Uhr)
  Mit Zitat antworten Zitat