Delphi-PRAXiS

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:

DeddyH 24. Feb 2011 11:01

AW: DBGrid editmodus
 
Reden wir hier eigentlich von Delphi oder Lazarus?

khh 24. Feb 2011 11:09

AW: DBGrid editmodus
 
Zitat:

Zitat von Bummi (Beitrag 1084029)
ich habe ein paar Einstellungen durchgespielt, bekomme aber das von Dir beschriebene Verhalten nicht nachgestellt ....:gruebel:

dafür hab ichs im neuen grid auch wieder hinbekommen, dass bei enter die spalte und nicht die zeile gewechselt wird.
Sobald mehr als eine spalte vorhanden sind, bewirkt enter einen spaltenwechsel und nur key_up/ down einen Zeilenwechsel.
mh, obs an Lazarus liegt? kann ich mir aber nicht vorstellen, bisher gabs da im Verhalten keine Unterschiede die mir aufgefallen wären:-(

khh 24. Feb 2011 11:10

AW: DBGrid editmodus
 
Zitat:

Zitat von DeddyH (Beitrag 1084032)
Reden wir hier eigentlich von Delphi oder Lazarus?

Richtig von Lazarus, aber macht das im Falle des Grid nen Unterschied?

DeddyH 24. Feb 2011 12:15

AW: DBGrid editmodus
 
Genau das weiß ich nicht, deshalb frag ich ja.

khh 24. Feb 2011 12:59

AW: DBGrid editmodus
 
Zitat:

Zitat von DeddyH (Beitrag 1084066)
Genau das weiß ich nicht, deshalb frag ich ja.

das wäre schon dumm,
anscheinend machts tatsächlich nen Uterschied, zumindest wenn das das Standardverhalten des Grid ist:-(

Dazu kommt noch, dass in dem Datensatz einige berechnete Felder sind, dh ich muss nach jeder Änderung im DS refreshen, was die Sache nicht einfacher macht. :-(


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 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