2017-07-26 70 views
0

早上好。Delphi中的DBGridEh中的TabOrder

我有一個DBGridEh這樣的:

DBGridEh

當我按一下Tab鍵第一次,確實的TabOrder正常(從左至右)。但是當我在最後一欄時,我按下tab鍵,它專注於Bodega專欄。爲什麼不專注於Referencia專欄?

更新:我解決了這個問題的一部分,這個代碼在KeyPress事件:

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

當線路上無信息,它就會在Referencia列,但是當我創建一個新的生產線,它得到我Bodega列尚未。

感謝您的幫助。

+0

你有沒有試過聯繫EhLib,或者至少檢查他們的論壇?以下是有關更改Tab鍵順序的文章http://forum.ehlib.com/en/viewtopic.php?f=5&t=354&hilit=grid+tab+order –

+0

我在KeyPress事件中解決了此代碼的部分問題: DBGridItems .SelectedIndex:= DBGridItems.FieldColumns ['codigo_ref']。Index; DBGridItems.Columns [DBGridItems.SelectedIndex] .Field.FocusControl; –

回答

1

Tab鍵順序的原因是:ReadOnly屬性中的'Referencia'列是TRUE,因爲有一個過程將這個列放入。如果列處於ReadOnly中,則Tab鍵順序會避開該列。

解決方法是:擦除過程的列,並且選項卡順序現在位於所需的列上。