我正在尝试以编程方式更改我的CellList中的“突出显示”项,基于另一个控件(文本框)中的键盘事件。我可以很好地获得键盘事件,但是当我使用CellList ...
时int row = getKeyboardSelectedRow() + 1;
setKeyboardSelected(row,selected,stealFocus)
它没有任何影响。如果我确实将焦点放在我的cellList上,我可以上下移动并突出显示一行。如果我在setKeyboardSelected()方法中将“stealFocus”设为true,那么它“有效”,除了我真的想要专注于文本框而不是cellList。我该怎么做呢?我尝试过fireEvents,将键击发送到CellList,但这也无济于事。
Ĵ
答案 0 :(得分:0)
我没有立竿见影的解决方案,但如果我是你,我会在调试模式下逐步查看setKeyBoardSelected
中com.google.gwt.user.cellview.client.AbstractCellTable
的代码。
也许这就是出错的地方?
if (KeyboardSelectionPolicy.DISABLED == getKeyboardSelectionPolicy()
|| !isRowWithinBounds(index) || columns.size() == 0) {
return;
}