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/)
-   -   Delphi DevExpress Grid: neue Zeile mit TAB verhindern (https://www.delphipraxis.net/204943-devexpress-grid-neue-zeile-mit-tab-verhindern.html)

haentschman 16. Jul 2020 07:50


DevExpress Grid: neue Zeile mit TAB verhindern
 
Hallöle...:P

...einen habe ich noch. :wink:

Wenn die Eingabe an der letzten Zelle angekommen ist, wird mit TAB ein neuer Datensatz angehängt. Das ist nicht immer gewollt. Dafür ist die Property FocusCellOnCycle zuständig.
Zitat:

Syntax
property FocusCellOnCycle: Boolean;
Description

Set this property to True to enable moving focus to the next row after it reaches the last edit cell within the current row. Otherwise, focus is moved to the first edit cell of the current row.


The default value of the FocusCellOnCycle property is False.
Die Property war checked... Auf False gesetzt. :thumb: ...dachte ich. :evil:


Erwartung entsprechend der Hilfe:

Daß der Focus in der gleichen Zeile sitzt, nämlich auf der ersten Zelle/Edit.

IST:
Der Focus wandert auf das nächste Control der Form...ist auch nicht gewollt. :?


Was habe ich wieder übersehen?

Danke...

lxo 16. Jul 2020 09:44

AW: DevExpress Grid: neue Zeile mit TAB verhindern
 
Hallo,

das ist da leider fest wenn FocusNextCell nicht möglich ist und du keine SHIFT-Taste gedrückt hältst wird "TcxCustomGrid(GridView.Control).RemoveFocus" ausgelöst.
Siehe cxGridCustomTableView.pas TcxCustomGridTableController.KeyDown

Im <TcxGrid>.OnExit könntest du das ansonsten den Focus wieder aufs Grid setzen wenn die TAB oder sonstiges gedrückt ist.


Code:
 if GetKeyState( VK_TAB) < 0 then
  if Sender is TcxGrid then
   (Sender as TcxGrid).SetFocus;

Delphi.Narium 16. Jul 2020 09:56

AW: DevExpress Grid: neue Zeile mit TAB verhindern
 
Gibt es die Eigenschaft TabStop, wie bei anderen Eingabefeldern?

Die auf False setzen?

Dann kommt man allerdings auch nicht mehr per Tab vom vorherigen Eingabefeld in der Reihenfolge nach TabOrder hinein.

haentschman 16. Jul 2020 10:54

AW: DevExpress Grid: neue Zeile mit TAB verhindern
 
Hallöle...:P
Zitat:

das ist da leider fest wenn FocusNextCell nicht möglich ist
Ah jetzt ja. Die erste Column ist Editing = False. Das bedeutet, daß er nicht auf das erste "erreichbare" Edit setzt, sondern dann in diesem Falle auf das nächste Control?

Den Tipp probiere ich mal aus. :wink:

Zitat:

Gibt es die Eigenschaft TabStop, wie bei anderen Eingabefeldern?
Ja, aber nur das Grid selbst. Die Views "hängen" am Grid dran. Ich müßte auf eine bestimmte Spalte focusieren. Das geht nicht. :?

Danke an Alle... :wink:


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