2012-03-06 8 views
0

私はプログラムで、別のコントロール(テキストボックス)のキーボードイベントに基づいて、私のCellListの "ハイライト表示"アイテムを変更しようとしています。私はキーボードイベントをうまく取得できますが、CellListを使用すると、CellListを使用するときに...GWT CellList setKeyboardSelected

int row = getKeyboardSelectedRow() + 1; 
setKeyboardSelected(row,selected,stealFocus) 

影響はありません。私が実際にcellListにフォーカスを置くと、上下に移動して行をハイライトすることができます。 setKeyboardSelected()メソッドで "stealFocus"をtrueにすると、実際にcellListではなくtextboxにフォーカスを置いておくことを除いて、 "動作"します。これはどうすればいいですか?私は、CellListにキーストロークを送信するfireEventsを試みましたが、それはどちらも役に立ちません。

+0

キーボードの強調表示の機能を無視して、これをレンダリングする必要があるようです。どのように特定の行をハイライトするのですか? – Joel

答えて

0

Jは、私はすぐに解決策を持っていませんが、私があなただったら、私はデバッグモードでcom.google.gwt.user.cellview.client.AbstractCellTablesetKeyBoardSelectedのコードをステップ思います。 これはどこが間違っているのでしょうか?

if (KeyboardSelectionPolicy.DISABLED == getKeyboardSelectionPolicy() 
|| !isRowWithinBounds(index) || columns.size() == 0) { 
return; 
} 
+0

私は、選択されたキーボード選択項目のためにCellListをフォーカスしなければならないという問題を認識しました。それはメソッドをオーバーライドすることによってそれを修正する方法があるように見えません。私はそれを自分で描かなければならないと思う。レンダリング方法があるとは思うが、この時点でどのように動作するのかよくわからない。 – Joel

関連する問題