Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi D7 Daten im DBGrid updaten (https://www.delphipraxis.net/191635-d7-daten-im-dbgrid-updaten.html)

beanbear6 4. Feb 2017 17:34

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

haentschman 4. Feb 2017 17:58

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

beanbear6 4. Feb 2017 18:02

AW: D7 Daten im DBGrid updaten
 
Hi, is uraltes projekt und muss nur geändert werden...

mikhal 4. Feb 2017 19:12

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

beanbear6 5. Feb 2017 10:05

AW: D7 Daten im DBGrid updaten
 
Hi,
vielen Dank für den Tip, werd ich dann gleich mal probieren... Gruß beanbear

nahpets 5. Feb 2017 10:50

AW: D7 Daten im DBGrid updaten
 
Die Ereignisroutine von OnColExit bei OnKeyUp aufrufen. Das könnte in etwa so aussehen:
Delphi-Quellcode:
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;
KeyPreview muss beim Formular dafür auf True stehen.


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