有一列显示行号,我想阻止用户使用箭头键遍历其中的单元格
在上面的图片中,带有文本“testDO3”的单元格当前是聚焦并突出显示的,行号列用于选择整行,所以我想让它不是travsersable。
这是我自己的解决方案:
tv.getTable().addTraverseListener(new TraverseListener(){
public void keyTraversed(TraverseEvent e) {
ViewerCell cell = focusCellManager.getFocusCell();
if(e.keyCode == SWT.ARROW_LEFT && cell.getColumnIndex() == 2){
e.detail = SWT.TRAVERSE_NONE;
e.doit = true;
}
}
});
答案 0 :(得分:0)
假设您正在使用JFace单元格导航,那么子类CellNavigationStrategy
并在TableViewerFocusCellManager
的构造函数中使用。