InputTextCell にイベントを追加する方法を知りたいです。このイベントは、「ユーザーがタブを押すと、次のセルがフォーカスを受け取り、このセルは別の列に移動します。」である必要があります。
onBrowserEvent を使用しようとしましたが、他のセルを見つける手段が見つかりませんでした。
CellPreviewHandler でそれを行います。
myTable.addCellPreviewHandler(new Handler<T>() {
@Override
public void onCellPreview(CellPreviewEvent<T> event) {
if ("keydown".equals(event.getNativeEvent().getType())) {
int col = event.getContext().getColumn();
int row = event.getContext().getIndex();
if (event.getNativeEvent().getKeyCode() == 9) {
col++;
if (col == getColumnCount()) {
col = 0;
}
getRowElement(row).getCells().getItem(col).getFirstChildElement().getFirstChildElement().focus();
}
}
});