Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#2

AW: Delphi 7 TDBGrid Scrollbar

  Alt 17. Feb 2017, 14:42
Das liegt nicht am DBGrid.

Das DBGrid zeigt immer (meist etwa mittig) den aktuellen Datensatz der Datenquelle an.

Wird bei 'ner TTable nun was an neuen Daten angefügt, so wandert der Datensatzzeiger von TTable auf den zuletzt eingefügten Datensatz. Die Anzeige im DBGrid wandert automatisch mit.

Soll im DBGrid aber diese "Wanderung" nicht nachvollzogen werden, so muss man sich vor dem Einfügen neuer Datensätze den aktuellen Datensatz merken, die Daten einfügen und dann zum gemerkten Datensatz zurückkehren.

Schau Dir bitte mal in der Delphi 7-Hilfe das Beispiel zu "GetBookmark, GotoBookmark, FreeBookmark, FindPrior, Value, OnDataChange, Bof (Beispiel)" an, eventuell kannst Du es entsprechend Deiner Bedürfnisse anpassen.

Ungetestet eventuell sowas in der Art:
Delphi-Quellcode:
procedure TForm1.DatenInTabelleUebernehmen(MyData : TTable);
var
   SavePlace: TBookmark;
begin
  MyData.DisableControls;
  { Positionsmarke abrufen, damit wir zum selben Datensatz zurückkehren können }
  SavePlace := MyData.GetBookmark;
  try
    { Daten einfügen }
    MyData.Append;
    // Felder mit Inhalt belegen
    MyData.Post;
    { Zurück zu Positionsmarke wechseln. }
    MyData.GotoBookmark(SavePlace);
    { Wert zuweisen }
    { Positionsmarke freigeben }
  finally
    FreeBookmark(SavePlace);
  end;
  MyData.EnableControls;
end;
Aufruf im Programm:
DatenInTabelleUebernehmen(DeineTTableKomponente);
  Mit Zitat antworten Zitat