2016-06-23 50 views
1

我有一個TableViewer,最後一列有EditingSupport來編輯單元格的值。查看器的樣式設置爲FULL_SELECTION。 一旦我點擊單元格,文本值完全選擇:TableViewer如何使用編輯支持設置單元格的插入位置並刪除FULL_SELECTION

"max value" is fully selected

我就可以開始編輯,它會清除掉當前值"max value",並開始新的價值。

但是,如果我想將鼠標移動到特定的位置進行編輯,我需要延遲一秒左右。如果點擊第一次點擊後選擇太快,單元格將被取消選擇。

有什麼辦法可以避免這種情況嗎?我可以讓單元格未完全選中嗎?或者始終在文本的末尾添加插入符號?謝謝!

回答

1

我假定您使用TextCellEditor作爲單元格編輯器。

創建自己的類擴展TextCellEditor,並覆蓋doSetFocus類是這樣的:

@Override 
protected void doSetFocus() 
{ 
    super.doSetFocus(); 

    if (text != null) { 
    text.setSelection(0, 0); 
    } 
} 
+0

是的,我使用'TextCellEditor',我只是做一些修改爲'text.setSelection (text.getText().length());'將插入符設置爲文本的結尾。謝謝! –

0

刪除全部選擇並設置插入符結束的文本,覆蓋doSetFocus並設置text.setSelection(text.getText().length());

忽視雙擊事件,覆蓋getDoubleClickTimeoutreturn 0

相關問題