4

タグにレンダリングするセルの束を持つ CellTable があり<input>ます。入力間のタブ移動は、CellTable の複雑なイベント処理のために壊れています。タブが各セルに を促しているように見えますfinishEditingが、それが今度はフォーカスを独占し、フォーカスが次の に到達することはありません<input>

各入力に tabIndex を設定しても、動作に影響はないようです。

通常のタブ機能を復元するにはどうすればよいですか?

4

4 に答える 4

8

私は最近これを理解しました。迷惑ですが、魔法を見つけたら簡単です。

  1. ストックTextInputCellが-1のタブインデックスを指定しているため、テーブルで使用する新しいセルタイプを作成します。基本的にTextInputCellが行うことはすべて行いますが、テンプレートにタブインデックスを指定しないでください。
  2. CellTableのデフォルトのキーボードナビゲーションを無効にします。 cellTable.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED)

これにより、CellTableで通常のタブナビゲーションが実行されます。

于 2011-06-20T21:50:29.577 に答える
2

MVP フレームワークを使用している場合、KeyboardSelectionPolicy の無効化がすべてのビューで機能するとは限りません。GWT は、セル内の入力フィールドではなくセルを選択します。

これが私のアプリケーションで使用した解決策です: GWT CellTable への TAB コントロールの追加

于 2014-03-09T20:06:16.470 に答える
0

値を変更するときにタブを使用する方法を理解しようとしている将来これを見ている人は、Ben Imp が提案することを実行してから、カスタム コンポーネントで super.finishEditing への参照を削除してください。場合によっては、これは、finishEditing をオーバーライドして何もしないことを意味します。

于 2015-05-01T14:34:17.887 に答える
0

セルの値を変更しない場合、Ben Imp のソリューションは正常に機能しますが、値を変更してタブで次のセルに移動しようとすると、フォーカスが失われ、ビューの最初の要素から始まります。この不適切な動作に対する解決策は見つかりませんでした。

于 2013-04-22T11:55:51.943 に答える