如何将键盘事件添加到数据网格单元格中的文本输入单元格?

时间:2012-07-16 17:56:15

标签: java gwt datagrid

我想知道在InputTextCell中添加事件的意思。 此活动必须是: “当用户按下选项卡时,下一个单元格将获得焦点,这一个将位于其他列中。”

我尝试使用onBrowserEvent,但我找不到找其他单元格的意思。

1 个答案:

答案 0 :(得分: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();
            }
        }
    });