Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   DBGrid-Steuerung (https://www.delphipraxis.net/210014-dbgrid-steuerung.html)

ts-d 17. Feb 2022 12:27

DBGrid-Steuerung
 
Hallo,

ich möchte, daß, wenn das DBGrid den Focus hat und ich die Pfeiltaste nach oben und unten betätige, Code zum Abrufen zusätzlicher Informationen ausgeführt wird.

Es soll derselbe Code sein, der in dem Ereignis gespeichert ist und ausgeführt wird:

procedure TForm_HauptUnterPos.DBGrid_ErgebnisCellClick(Colum n: TColumn);

Also konkret:
1. Auf welches Ereignis kann ich reagieren (Pfeiltasten-Betätigung)?
2. Welchen Befehl setze ich ein, um die oben geannte Prozedur in Gang zu setzen?

Delphi.Narium 17. Feb 2022 12:38

AW: DBGrid-Steuerung
 
Ungetestet grob sowas:

DBGrid_Ergebnis mit 'nem Ereignis OnKeyUp versorgen:
Delphi-Quellcode:
procedure TForm_HauptUnterPos.DBGrid_ErgebnisKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  // 38 = Pfeil nach oben
  // 40 = Pfeil nach unten
  case key of
    38,40 : DBGrid_ErgebnisCellClick(DBGrid_Ergebnis.SelectColumn);
  end;
end;

Uwe Raabe 17. Feb 2022 12:40

AW: DBGrid-Steuerung
 
Die Up/Down-Tasten wechseln ja den Datensatz des über die DataSource verknüpften DataSets. Die dortigen BeforeScroll und/oder AfterScroll wären vermutlich die richtigen Ansatzpunkte.

ts-d 17. Feb 2022 12:49

AW: DBGrid-Steuerung
 
danke für beide tipps - ich versuch's mal

ts-d 17. Feb 2022 12:53

AW: DBGrid-Steuerung
 
es gibt nicht .SelectColumn, nur .SelectedField .SelectedRows und .SelectedIndex
Aber DBGrid_ErgebnisCellClick(nil) funktioniert!


Zitat:

Zitat von Delphi.Narium (Beitrag 1502377)
Ungetestet grob sowas:

DBGrid_Ergebnis mit 'nem Ereignis OnKeyUp versorgen:
Delphi-Quellcode:
procedure TForm_HauptUnterPos.DBGrid_ErgebnisKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  // 38 = Pfeil nach oben
  // 40 = Pfeil nach unten
  case key of
    38,40 : DBGrid_ErgebnisCellClick(DBGrid_Ergebnis.SelectColumn);
  end;
end;



Alle Zeitangaben in WEZ +1. Es ist jetzt 08:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz