2017-07-26 3 views
0

Guten Morgen alle.TabOrder in DBGridEh auf Delphi

Ich habe eine DBGridEh wie folgt aus:

DBGridEh

Wenn ich Tab-Taste erste Mal drücken, wird der taborder normalerweise (von links nach rechts). Aber wenn ich in der letzten Spalte bin, drücke ich die Tabulatortaste und es wird auf die Bodega-Spalte fokussiert. Warum nicht auf die Referencia-Säule?

UPDATE: Ich Teil des Problems mit diesem Code auf KeyPress Ereignis gelöst:

DBGridItems.SelectedIndex := DBGridItems.FieldColumns['codigo_ref'].Index; 
DBGridItems.Columns[DBGridItems.SelectedIndex].Field.FocusControl; 

Wenn keine Informationen über Linie, wird es auf Referencia Spalte, aber wenn ich eine neue Zeile zu erstellen, wird es mir Bodega-Säule noch nicht.

Danke für Ihre Hilfe.

+0

Haben Sie versucht, EhLib zu kontaktieren, oder zumindest ihre Foren zu überprüfen? Hier ist Post über das Ändern der Tab-Reihenfolge http://forum.ehlib.com/en/viewtopic.php?f=5&t=354&hilit=grid+tab+order –

+0

Ich löste einen Teil des Problems mit diesem Code auf KeyPress-Event: DBGridItems .SelectedIndex: = DBGridItems.FieldColumns ['codigo_ref']. Index; DBGridItems.Columns [DBGridItems.SelectedIndex] .Field.FocusControl; –

Antwort

1

Der Grund für die Aktivierreihenfolge war: Die Spalte 'Referencia' in der ReadOnly-Eigenschaft war TRUE aufgrund einer Prozedur, die die Spalte so setzte. Wenn sich die Spalte in ReadOnly befindet, vermeiden Sie die Tab-Reihenfolge, um diese Spalte zu vermeiden.

Die Lösung war: Löschen Sie die Spalte der Prozedur und die Tab-Reihenfolge befindet sich nun auf der gewünschten Spalte.