Man nehme vier Buttons:
1. für den ersten Datensatz
2. für einen Satz zurück
3. für einen Satz vor
4. für letzten Satz.
Beim DBGrid der Jedis gibt es dann folgende Eigenschaften bzw. Methoden:
GotoSelection(Variabel mit der Satznummer / dem Index)
SelectedRows.Count, der Anzahl der ausgewählten Sätze.
Für den 1. Satz macht man dann ein GoToSelection(0).
Zum letzten Satz geht's mit GoToSelection(SelectedRows.Count - 1)
Dann benötig man eine Variabel, in der man sich die Satznummer des aktuellen Satzes merkt.
Geht man auf den ersten Satz, so setzt man diese Variabel auf 0, beim letzten Satz auf SelectedRows.Count - 1.
Geht man einen Satz zurück, setzt man diese Variabel auf Variabel - 1, geht man einen Satz vor auf Variabel + 1.
Anschließend ruft man noch GotoSelection(Variabel) auf und sollte am gewünschten Ziel sein.
ungetesteter, nur so hingedaddelter, Quelltext:
Delphi-Quellcode:
type
TForm1 =
class(TForm)
fSatzNummer : Integer;
...
btnFirst: TButton;
btnPrior: TButton;
btnNext : TButton;
btnLast : TButton;
...
// Diese Ereignisroutine allen Buttons auf OnClick zuweisen:
procedure TForm1.BtnSelect(Sender: TObject);
begin
if Sender = btnFirst
then fSatzNummer := 0
else if Sender = btnPrior
then Dec(fSatzNummer)
else if Sender = btnNext
then Inc(fSatzNummer)
else if Sender = btnLast
then fSatzNummer := dbGrid.SelectedRows.Count - 1;
dbGrid.GotoSelection(fSatzNummer);
end;