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

标签 java gwt datagrid

我想知道在 InputTextCell 中添加事件的方法。 此事件必须是: “当用户按下 Tab 键时,下一个单元格将获得焦点,这个单元格将位于其他列中。”

我尝试使用 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();
            }
        }
    });

关于java - 如何将键盘事件添加到数据网格单元格中的文本输入单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11509836/

相关文章:

java - 在maven资源文件夹中创建一个新文件

java - 以编程方式向现有 ViewGroup 添加 fragment

gwt - SmartGwt DateItem useTextField=true - 如何使文本输入字段不可编辑

gwt - ckeditor + smartgwt 模态窗口 + 对话框下拉菜单获得焦点但不显示选项

gwt 中小部件的 CSS

WPF MvvM DataGrid 动态列

c# - 更新 DataGrid 的 ItemsSource 中的单个项目

WPF 数据网格绑定(bind)工具提示在表格内容绑定(bind)刷新时闪烁

java - 无法找到我认为是捕食者猎物程序中的内存泄漏

java - 协议(protocol)的 JVM Clojure 实现如何工作?