我有一個CellList與SingleSelectionModel,我的使用情況是:CellList永遠記住後刷新新數據舊的選擇,即使清除舊的選擇
- 用戶選擇CellList一行(oldProxy)。
- 用戶創建一個代理(newProxy)併發送到服務器。
- 客戶端收到成功響應,CellList開始向服務器請求最新的數據。
- CellList填充最新的數據,並且步驟1中的行仍處於選中狀態。
,但我想選擇在步驟4中的最新行,我用
selectionModel.setSelected(newProxy);
,但似乎它不工作,仍然在步驟1中選擇行。
我試過第2步之前取消該行:
selectionModel.setSelected(oldProxy, false);
但最終仍然選擇在步驟1中的行,它的怪異。有關於此的任何想法?
你確定這是關於選擇,而不是_「鍵盤選擇」_?你嘗試過調試嗎? (例如在選擇模型的isSelected中設置一個斷點並查看傳入的值和callstack) – 2013-04-30 08:06:54
你好,這不是關於「鍵盤選擇」,我嘗試調試,在我的CellList填充新數據後調用'selectionModel .setSelected(newProxy)'但是在probelm中是在SingleSelectionModel中的resolveChanges()中,它立即返回,因爲newSelectionPending是false。我認爲這是因爲CellList只是選擇舊的選定行。我會盡量在一個工藝項目中重現它。 – Mike 2013-05-01 03:08:03
嗨,托馬斯,作爲你的提示,根本原因是「鍵盤選擇」,我調試了很長的'resolvePendingState()' – Mike 2013-05-02 06:18:37