2009-11-20 68 views
0

當前一次編輯完成時,我想通過自動跳轉到tableviewer中的下一個單元來安慰用戶。用戶需要修改條目列表中的開始 - 結束時間。我想知道我應該如何手動(編程)觸發特定單元格的CellEditor。我之前在Eclipse中沒見過,所以「猴子看,猴子做」似乎對這次沒有幫助。 :)手動觸發RCP TableViewer中的CellEditor

感謝您的時間

回答

1

不是一個完整的答案,但也許你的問題夠有幫助..

首先,你需要完成編輯時,偵測。如果單元格編輯器允許文本輸入,如果它提供了用於選擇元素的組合框,則很困難。

您可以將ICellEditorListener添加到CellEditor。只要編輯器值發生變化,就會調用監聽器。這是檢查編輯是否完成的觸發器,如果​​是,則進入「下一個」單元格編輯器(因此您必須定義單元格編輯器序列來查找下一個單元格,簡單的Map就足夠了)。

希望它有幫助!

+0

哇,這是一個很好的答案,安德烈亞斯。我正在使用來自Schindl的代碼片段,它使用大量的hocus-pocus(通過反射公開字段,添加大量的監聽器等)。但是你的嘗試聽起來不錯。我會試試看。 – pimpf0r 2009-11-23 11:22:49

+0

使用ColumnViewerEditorActivationListener對afterEditorDeactivated作出反應時,從事件源獲取當前單元格,並在使用ViewerCell.getNeighbor找到相應的鄰居後調用查看器上的editElement。 – pimpf0r 2009-11-26 15:29:26

+0

所以它的作品?祝賀:) – 2009-11-26 15:38:55