2013-03-09 47 views
4

當我在DataGrid上啓用鍵盤選擇策略和多選時,我遇到了這個問題。GWT - Datagrid:鍵盤單選,啓用多選時

案例1:通過鼠標和鍵盤多選擇

當我要選擇通過鼠標多行,我認爲Ctrl鍵或Shift鍵,能正常工作。通過默認鍵盤,此操作由spacebar提供。當我想要通過鍵盤組合shift鍵和spacebar串行選擇的時候會有訣竅。

案例2:通過鼠標和鍵盤單選(這就是問題的開始

當我要選擇通過鼠標單行,我只是做了left click。如果我沒有保存ctrlshift密鑰並執行left click,即使選擇了多個行,它也會被取消選中,只有當前行被選中。這是預期的行爲,我沒有任何問題。

但同樣的事情是不能通過鍵盤來實現的。無法通過鍵盤選擇單個行。如果我按spacebar一行被選中,並且如果我在其他行上再次按下spacebar而沒有shift/ctrl鍵,它將被多選,並且上一個所選行不會被取消選中。

我的問題是:如何通過類似於鼠標的鍵盤實現單一選擇?

編輯:I opened this issue in gwt issues。我希望他們對此作出迴應。

+0

+1 abhi。太清楚:) – 2013-03-11 14:14:13

回答

5

你必須use一個custom selection event managertranslator返回你clearCurrentSelection想要的行爲適當的值。

default behavior是始終添加/從選擇從鍵盤刪除,並使用控制或間鍵來切換是否使用鼠標時,清除當前的選擇。

+0

我一定會嘗試這種方法。但我有個問題。我的期望不應該是默認行爲嗎?在網絡或桌面應用程序中的任何地方,除非您按住ctrl或shift之類的其他鍵,否則不應該總是單個選擇?我應該在gwt問題列表中創建一個關於相同問題的問題,或者是否有任何具體原因,爲什麼它的設計如此 – 2013-03-09 11:58:03

+0

我完全不知道。隨意開一個問題,但要準備等待很長時間。這些事情,特別是當有變通辦法時,優先級較低。回到問題中,你認爲應該是正確的行爲。 – 2013-03-09 12:59:29