Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Grid aktuallisieren und auf DS positionieren. (https://www.delphipraxis.net/147612-grid-aktuallisieren-und-auf-ds-positionieren.html)

khh 12. Feb 2010 13:27

Datenbank: firebird • Version: 2.1 • Zugriff über: zeos

Grid aktuallisieren und auf DS positionieren.
 
Hallo zusammen,
ich habe ein DBgrid welches ich per

Delphi-Quellcode:
 TColumn(self.Columns[1]).Field:= ZQuery1.FieldByName('menge');

bestücke.
die Werte des aktuellen DS werden an die verschiedenen Eingabefelder übergeben und könne dort geändert werden.
Die Änderungen werden beim Verlassen eines bestimmten Feldes in die DB geschrieben und es wird auf den nächsten Satz im Grid positoniert.
Das funktioniert soweit, nur dass die geänderten Werte nicht im Grid angezeigt werden.
Erst nach erneutem Einlesen des Grid durch ausfüren der Query und:
Delphi-Quellcode:
 TColumn(self.Columns[1]).Field:= ZQuery1.FieldByName('menge');
werden die Gridwerte aktuallisiert.

dabei geht aber die Positionierung im Grid verloren.

Was kann ich tun damit der Satzzeiger auf dem aktuellen Satz bleibt ohne dbedit-felder zu verwenden?

hoika 12. Feb 2010 13:48

Re: Grid aktuallisieren und auf DS positionieren.
 
Hallo,

wozu schreibst du das TColumn(self.Columns[1]).Field:= ZQuery1.FieldByName('menge'); ?
Das DBGrid zeigt die Daten doch auch so an.

Nach einem Close/Open des Queries musst du den Datensatz per FindKey
(oder was auch immer ZEOS bietet) wieder Markieren.

Also
DBId retten
Close
Open
Datensatz finden mit der geretteten DBId


Hier könnte auch ein BookMark helfen.


Heiko

khh 12. Feb 2010 13:56

Re: Grid aktuallisieren und auf DS positionieren.
 
Zitat:

Zitat von hoika
Hallo,

wozu schreibst du das TColumn(self.Columns[1]).Field:= ZQuery1.FieldByName('menge'); ?
Das DBGrid zeigt die Daten doch auch so an.



Heiko

das Grid wird direkt aus der Query "gespeisst", ohne über den TDatasource zu gehen,


bookmark muss ich mir mal ansehen

Danke dir

hoika 12. Feb 2010 13:59

Re: Grid aktuallisieren und auf DS positionieren.
 
Hallo,

ja aber wozu dann ein DBGrid ?
Dann kannst du gleich ein normales StringGrid nehmen.


Heiko

khh 12. Feb 2010 14:05

Re: Grid aktuallisieren und auf DS positionieren.
 
Zitat:

Zitat von hoika
Hallo,

ja aber wozu dann ein DBGrid ?
Dann kannst du gleich ein normales StringGrid nehmen.


Heiko

ich glaube ich baue doch mal ein Tdatasource dazwischen, vieleicht vereinfacht das die Sache etwas


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