2011-07-21 7 views
2

EDIT:は、ここで私は(EditingSupportを実装することによって行われる)編集可能である列でのJFace TableViewerのを持っている最大の提案JFace - 指定された行インデックスで編集可能なセルを選択しますか?

editor.getControl().addKeyListener(new KeyAdapter() { 
     @Override 
     public void keyReleased(KeyEvent e) { 
      Table table = viewer.getTable(); 
      int currentIndex = table.getSelectionIndex(); 

      if (e.keyCode == SWT.ARROW_DOWN) { 
       if (currentIndex != table.getItemCount() - 1) { 
        table.setSelection(currentIndex+1); 

        IStructuredSelection sel = (IStructuredSelection) viewer.getSelection(); 
        Object rowObj = sel.getFirstElement(); 

        viewer.editElement(rowObj, columnIndex); 
       } 
      } 
     } 
    }); 

に基づいてコードです。

セルを編集して上/下の行に移動するには、上下の矢印を押すことができます。ここで私が持っているものです。

final TextCellEditor editor = new TextCellEditor(viewer.getTable()); 

editor.getControl().addKeyListener(new KeyAdapter() { 
    @Override 
    public void keyReleased(KeyEvent e) { 
     if (e.keyCode == SWT.ARROW_DOWN) { 
      Table table = viewer.getTable(); 
      int currentIndex = table.getSelectionIndex(); 

      if (currentIndex != table.getItemCount() - 1) { 
       table.setSelection(currentIndex+1); 
      } 
     } 
    } 
}); 

これは次の行に、選択した行を移動しますが、テキストボックスを移動していない、すなわち押した後、それはこのようになります矢印:どのように

特定の行のセルにテキストボックスを設定しますか?

答えて

6

使用方法:

org.eclipse.jface.viewers.ColumnViewer.editElement(Object element, int column) 
関連する問題