Re: DBGrid- und TLabel-Anzeige nicht identisch
Guten Morgen,
habe das schon wie von marabu empfohlen auf OnAfterScroll geändert. Aber was ist mit meinen Codes Insert,Edit,Speichern von gestern? Da scheint etwas nicht in Ordnung zu sein. Gruß Lombi |
Re: DBGrid- und TLabel-Anzeige nicht identisch
Ich vermut mal, das hier der Fehler liegt, da hier was zu fehlen scheint:
Du versuchst in .BtnSpeichernClick was in die Datenbank zurückzuschhreiben hat aber in Table1AfterScroll nur die Werte des aktuellen DS in die Editfelder kopiert. Wenn du nun Änderungen zurückschreiben willst, mußt du zuerst die werte der Edits wieder in das DS zurückschreiben. |
Re: DBGrid- und TLabel-Anzeige nicht identisch
Hallo Lombi.
Ich vermute FAdrListe ist die Form mit der mittels DBGrid realisierten Listenansicht und FAdr ist die Form mit den Detailinformationen zu einem Datensatz. Vermutlich hast du das DBGrid auf ReadOnly gesetzt, um den Datensatz auf deine Weise bearbeiten zu können. Du benutzt das DBGrid dann nur zum verschieben des Satzzeigers. Für das Einfügen eines neuen Datensatzes hast du einen Button, wie für das Speichern. Das Ändern eines Datensatzes über das klicken in eine Zelle zu beginnen halte ich für keine gute Idee. Ich verwende dazu oft ein Kontextmenü. In deiner Detailform könntest du eine Methode zum Bearbeiten des aktuellen Datensatzes bereit halten:
Delphi-Quellcode:
Wenn du dann eine EditAction auf deiner Listenform hast, dann würde folgendes funktionieren:
function TFAdr.UpdateRecord(ds: TDataSet): Boolean;
begin CBAnrede.Text := ds['Anrede']; EditName.Text := ds['Name']; Result := ShowModal = mrOK; if Result then begin ds.Edit; ds['Anrede'] := CBAnrede.Text; ds['Name'] := EditName.Text; ds.Post; end; end;
Delphi-Quellcode:
Getippt und nicht getestet.
procedure TFadrListe.EditAction(Sender: TObject);
begin with TFadr.Create(nil) do if UpdateRecord(TableAdr) then TableAdr.Refresh; end; Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 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