Thema: Delphi DBGrid "einfrieren"

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: DBGrid "einfrieren"

  Alt 23. Nov 2008, 15:23
Du hast das Konzept der Datenmengen (TDataset-Abkömmlinge) vielleicht nicht richtig verstanden.

Ein TDataset enthält die geladenen Daten in Tabellenform und verwaltet einen Datensatzzeiger, sodaß beim Zugriff auf die Felder die daten jeweils einer Zeile ausgelesen werden. Mit First/Next/Prior/Last kann man den Datensatzzeiger bewegen. Mit Get/GotoBookmark kann man sich die Position des Datensatzzeigers merken und später wieder dort hinspringen.

Eine Routine, die unsichtbar durch eine Datenmenge iteriert, und den Datensatzzeiger hinterher wieder dort plaziert, wo er vorher war, sieht so aus:
Delphi-Quellcode:
...
Var
  B : TBookmark;

Begin
  B := MyDataSet.GetBookmark;
  MyDataset.DisableControls;
  Try
    MyDataset.First;
    While Not MyDataset.Eof do Begin
      // Mach was mit MyDataset
      MyDataset.Next,
    End
  Finally
    MyDataset.GotoBookmark(B);
    MyDataset.FreeBookmark(N);
    MyDataset.EnableControls;
  End
End;
Damit solltest Du die gewünschte Funktionalität abbilden können.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat