GWT Celltable和TABbing

时间:2011-07-01 07:10:05

标签: gwt input gwt-2.2-celltable

所以我有一个带有各种输入的GWT cellTable,包括selectbox,EditTextCells和一些链接。我希望TAB沿着每个单元格去。

但是,目前我只能将TAB切换到选择框之间(KeyboardSelectionPolicy.DISABLED时)。 (即来自here)。但它没有选中EditTextCells或其他单元格。

(可能相关地,EditText <input>看起来他们不能拥有他们的tabindex!= - 1,否则我看到cellTable抛出错误。(而且似乎在EditText中警告你不应该这样做)。

是否有另一个用于EditText的tabIndex或者我可能缺少的其他通用单元格?一个人here似乎无法让它工作并选择退出。

但根据googleCode的这个问题,其他人正在成功地做到这一点。

2 个答案:

答案 0 :(得分:0)

好,所以添加tabIndex确实有效。对于editTextCell,我为这个(通常只是safehtml呈现的)文本添加了一个新的模板:

interface TemplateBasic extends SafeHtmlTemplates {
        @Template("<Label tabindex=\"{1}\">{0}</Label>")
        SafeHtml input(String value, String index);
      }

然后在设置时进行渲染 ...

else if (value != null) {
      SafeHtml html = renderer.render(value);
      sb.append(html) );
}

而不是我用

else if (value != null) {
      SafeHtml html = renderer.render(value);
      sb.append(templatebasic.input(html.asString(), Integer.toString( context.getIndex() )) );
    }

这也适用于checkboxcell;覆盖渲染器不使用静态定义的INPUT_CHECKED / UNCHECKED与tabIndex = -1

但我仍在思考/希望可能有更好的方式......

答案 1 :(得分:0)

您可以创建新的Cell。或者,您可以向CellTable添加一些脚本来处理TAB和SHIFT + TAB。

通过添加制表符处理程序来扩展CellTable以实现此目的,这将满足您的需求。请参阅this link