2017-07-26 4 views
0

おはようございます。DelphiのDBGridEhのTabOrder

私はこのようなDBGridEhを持っている:

DBGridEh

私はタブボタンを初めて押すと、TabOrderプロパティは、通常、(左から右へ)ん。しかし、私は最後の列にいるとき、私はタブを押して、それはボデガの列に焦点を当てます。なぜReferenciaの列に焦点を当てていないのですか?

UPDATE:私は、KeyPressイベントに、このコードで問題の一部を解決:

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

ラインには何の情報は、それがReferencia欄に乗っていないが、私は新しい行を作成するときに、それが私を取得しますまだボデガカム。

ありがとうございました。

+0

EhLibに連絡したり、少なくともフォーラムをチェックしてみましたか?ここでは、タブの順序を変更する方法についての記事http://forum.ehlib.com/en/viewtopic.php?f=5&t=354&hilit=grid+tab+order –

+0

KeyPressイベントでこのコードの問題の一部を解決しました: DBGridItems .SelectedIndex:= DBGridItems.FieldColumns ['codigo_ref']。インデックス。 DBGridItems.Columns [DBGridItems.SelectedIndex] .Field.FocusControl; –

答えて

1

タブ順の理由は、ReadOnlyプロパティの 'Referencia'列が、そのような列を配置していたプロシージャのためにTRUEでした。列がReadOnlyにある場合、タブ順序はその列を避けます。

解決策は次のとおりです。プロシージャの列を消去し、タブ順序を目的の列に配置します。