Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#6

AW: In einem Grid auf den nächsten selektierten Datensatz gehen

  Alt 5. Mär 2016, 14:56
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;
  Mit Zitat antworten Zitat