Zitat von
sniper_w:
irgendwie muss sich die DBGrid auch die Daten holen, nur ich habe jetzt hier nicht die Sources.
Das DBGrid versetzt das DataSet in einen speziellen Status, in dem keine OnScroll-Events ausgelöst werden. TDataset.State hat dann den Wert
dsBlockRead.
Ausserdem merkt sich das DBGrid die aktuelle Position im Dataset (TBookmark).
Das Grid bewegt sich im Dataset über die Move() - Methode. Das ist aber nur ein kleine Erweiterung zu Prev() und Next() und im Grunde das Gleiche.
Hat das Grid seine Daten, wird auf den Bookmark gesprungen und TDataset.State wieder nach dsBrowse zurückgesetzt.
Wenn man mehrere/alle Records aus dem Dataset holen möchte, sollte man vorher [TDataset].
DisableControls aufrufen und am Ende
EnableControls.
Man könnte auch statt DisableControls das Property BlockReadSize auf einen positiven Wert setzen, aber das ist eher für Leute, die gerne experimentieren.