Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   DBGrid editmodus (https://www.delphipraxis.net/158604-dbgrid-editmodus.html)

khh 23. Feb 2011 16:47

DBGrid editmodus
 
hallo zusammen,
welche Einstellung im DBGrid bewirkt, dass beim Satzwechsel im Eingabefeld Daten geändert werden können, ohne zuvor reinklicken zu müssen?
Der Satzzeiger bewegt sich zwar per query.next aber dann muss erst wieder ins Feld geklickt werden :-(

Was mach ich falsch?

danke Gruss KHH

jobo 23. Feb 2011 17:22

AW: DBGrid editmodus
 
OT: Man kann auch F2 drücken, statt zu klicken.

Vielleicht hilft Dir:
Delphi-Quellcode:
dgAlwaysShowEditor
Delphi-Quellcode:
 DBGrid.Options := DBGrid.Options + [dgAlwaysShowEditor];

haentschman 23. Feb 2011 18:12

AW: DBGrid editmodus
 
Hallo...

einen virtuellen Tastendruck "F2" oder Mausklick senden... Anders geht´s nicht.

PS: versuche datensensitive Controls, wenn überhaupt, nur zur Visualisierung zu verwenden. Die Eingaben in Grids und ähnliches sind immer mit nur mit Krampf machbar. (eigene Erfahrung von früher :zwinker:)

khh 24. Feb 2011 06:42

AW: DBGrid editmodus
 
Zitat:

Zitat von haentschman (Beitrag 1083861)
Hallo...

einen virtuellen Tastendruck "F2" oder Mausklick senden... Anders geht´s nicht.

PS: versuche datensensitive Controls, wenn überhaupt, nur zur Visualisierung zu verwenden. Die Eingaben in Grids und ähnliches sind immer mit nur mit Krampf machbar. (eigene Erfahrung von früher :zwinker:)


Ich danke euch.
Ich habe in meinen Programmen Grideingaben auch so weit möglich vermieden.
Ich muss in diesem Falle aber die Wünsche des Kunden berücksichtigen.

khh 24. Feb 2011 09:01

AW: DBGrid editmodus
 
Hallo zusammen,

soweit funktioniert das nun mit dem Editmodus.
Wenn es jetzt noch möglich ist die key_down taste durch die RETURN -Taste zu ersetzen wäre es perfekt.
Ich habe versucht im keydown des Grid die VK_RETURN abzufangen und mit keybd_event(VK_DOWN, 0, 0, 0) auszuführen, aber da springt der Cursor trotzdem eine Spalte nach rechts :-(

Was kann man da machen?
Gruss KHH

Bummi 24. Feb 2011 09:18

AW: DBGrid editmodus
 
Delphi-Quellcode:
procedure TForm2.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=VK_Return then Key := VK_Down;

end;

khh 24. Feb 2011 09:42

AW: DBGrid editmodus
 
Zitat:

Zitat von Bummi (Beitrag 1084005)
Delphi-Quellcode:
procedure TForm2.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=VK_Return then Key := VK_Down;

end;

so steht in key dann zwar auch richtig 100, aber im Grid steht der Cursor trotzdem ne spalte nebenan,
heisst das Grid muss wohl schon vorher den Key verarbeiten :-(

Bummi 24. Feb 2011 10:35

AW: DBGrid editmodus
 
Ich bin nicht sicher ob ich Dich richtig verstanden habe, ich teste hier unter XE, bin in z.B. Spalte 3,Zeile 1 , drücke ENTER, danach bin ich in Spalte 3 Zeile 2.
Ist das bei Dir anders, oder möchtest Du etwas anderes?

khh 24. Feb 2011 10:42

AW: DBGrid editmodus
 
Zitat:

Zitat von Bummi (Beitrag 1084022)
Ich bin nicht sicher ob ich Dich richtig verstanden habe, ich teste hier unter XE, bin in z.B. Spalte 3,Zeile 1 , drücke ENTER, danach bin ich in Spalte 3 Zeile 2.
Ist das bei Dir anders, oder möchtest Du etwas anderes?

genau so möchte ich es , ich komme aber bei ENTER von spalte 3 zeile 1 nach spalte 4 zeile 1

Hab jetzt nochmal ein neues Grid angelegt, dort funktioniert es richtig , muss wohl ne Grideinstellung sein die das verursacht :-(

Bummi 24. Feb 2011 10:51

AW: DBGrid editmodus
 
ich habe ein paar Einstellungen durchgespielt, bekomme aber das von Dir beschriebene Verhalten nicht nachgestellt ....:gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:24 Uhr.
Seite 1 von 2  1 2      

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