0
我得到了一個網格,帶有複選框插件和分頁。Slickgrid:複選框+分頁:所有頁面的getSelectedRows,而不僅僅是當前的一個
我只能選擇當前頁面的選定行,而不是所有行。如何做到這一點?
我搜索的代碼,試圖找到全局陣列slickgrid正在選定行進入一個新的頁面(dataView.syncGridSelection(grid, true)
)的時候,卻沒有管理這樣到現在...
感謝您的幫助。
我得到了一個網格,帶有複選框插件和分頁。Slickgrid:複選框+分頁:所有頁面的getSelectedRows,而不僅僅是當前的一個
我只能選擇當前頁面的選定行,而不是所有行。如何做到這一點?
我搜索的代碼,試圖找到全局陣列slickgrid正在選定行進入一個新的頁面(dataView.syncGridSelection(grid, true)
)的時候,卻沒有管理這樣到現在...
感謝您的幫助。
您可以訂閱onPagingInfoChanged
事件 - 當您導航到新頁面時觸發事件 - 然後將選定的行從該頁面存儲到全局數組中供您參考。
dataView.onPagingInfoChanged.subscribe(function(e,pagingInfo) {
console.log(grid.getSelectedRows());
// add selected rows to a global array
}
注:進一步你所提到的,在grid.getSelectedRows()
返回的行數相對可見行。因此,第2頁上的行將從0開始。我建議取而代之將該行的id
並將其存儲在全局數組中(您知道,數據視圖中的每一行應具有哪一行並且哪一行是唯一的)。
希望這給你一個開始。讓我知道如果這有幫助!
那正是我所做的。我正在監聽onSelectedRowsChanged事件,並從那裏填充全局數組。感謝您的回答和幫助。我認爲這種行爲需要進入fw。開發人員需要掌握全局列表,才能運行批量操作。 – neoswf 2012-07-19 14:56:32
我正在檢查每個複選框單擊的原因是啓用或禁用批量操作按鈕。在切換頁面之前,用戶可以始終取消選中所有複選框。 – neoswf 2012-07-19 15:13:33
非常歡迎你! SlickGrid設計是爲了保持內存中只有可見的行 - 我認爲這是如此之快。我認爲這就是以這種方式實施的原因。有趣的是,儘管玩 - 但我們有特殊需求的解決方法! :) – ganeshk 2012-07-19 15:24:21