2

InputTextCell にイベントを追加する方法を知りたいです。このイベントは、「ユーザーがタブを押すと、次のセルがフォーカスを受け取り、このセルは別の列に移動します。」である必要があります。

onBrowserEvent を使用しようとしましたが、他のセルを見つける手段が見つかりませんでした。

4

1 に答える 1

0

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();
            }
        }
    });
于 2012-09-10T14:03:02.187 に答える