![]() |
Datenbank: dbase • Version: 5 • Zugriff über: TTable
D7 Daten im DBGrid updaten
Hallo,
ihr seid nun meine letzte Rettung. Ich hab ein DBGrid mit den Feldern Einzelpreis, Menge und GESAMT. Wenn ich Einzelpreis und Menge eintippe und mit TAB-Taste weiterschalte, wird Gesamt richtig berechnet (hab die Berechnung im OnColExit Ereignis von DBGrid eingetragen. Bestätige ich jedoch eines der Felder mit RETURN oder ENTER, so wird GESAMT nicht neu berechnet... Das ist natürlich nicht so toll, weil wenn ich statt TAB mal Einzelpreis ändere und mit RETURN abschließe, stimmt Gesamt nicht... Mit OnKeyUp gehts auch nicht weil irgendwie die Daten wohl zu dem Zeitpunkt noch nicht richtig in der Tabelle stehen... Ich finde aber auch keine andere Möglichkeit nach Eingabe mit RETURN das Feld GESAMT neu zu berechnen. Hat jemand Hilfe für mich?? Vielen Dank gleich mal für Eure Mühe!! Gruß beanbear |
AW: D7 Daten im DBGrid updaten
Hallöle...:P
Als erstes stellt sich mir die Frage ob das ein altes Projekt ist oder eine Neuentwicklung. dBase ist nicht mehr aktuell / uptodate. Je nach der Antwort sollten wir über das DBMS reden. :P |
AW: D7 Daten im DBGrid updaten
Hi, is uraltes projekt und muss nur geändert werden...
|
AW: D7 Daten im DBGrid updaten
Zunächst mal folgendes: Das DBGrid ist nur eine Visualisierung der Daten, die aktuell im DataSet sind.
Du musst also am DataSet ansetzen: Wenn der Wert entweder der Menge oder des Preises geändert wird, musst du deine Berechnung durchführen. Dazu gibt es die Ereignisroutine DataSet.AfterEdit, in der du auf die Veränderungen reagieren solltest. Grüße Mikhal |
AW: D7 Daten im DBGrid updaten
Hi,
vielen Dank für den Tip, werd ich dann gleich mal probieren... Gruß beanbear |
AW: D7 Daten im DBGrid updaten
Die Ereignisroutine von OnColExit bei OnKeyUp aufrufen. Das könnte in etwa so aussehen:
Delphi-Quellcode:
KeyPreview muss beim Formular dafür auf True stehen.
procedure Tform1.DBGrid1ColExit(Sender: TObject);
begin // Hier wird berechnet: end; procedure Tform1.DBGrid1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin Case key of // Wenn Return gedrückt wird: #13 : DBGrid1ColExit(Sender); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 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