2012-07-12 65 views

回答

1

只要我知道沒有內置功能可以這樣做。當您在第一頁上選擇記錄並切換到第二頁時,會發生同樣的問題,您放棄之前選擇的任何內容。

爲了實現這個功能,你有2個選項(我用兩個在之前的項目)

1)在每個檢查使Ajax調用,無論你在一個會話變量選擇您的控制器和存儲的一個(這可能是低效的,如果你有很多的記錄) 2)創建一個JavaScript變量和存儲您的選擇有,並使用JSON變量或一個逗號分隔值的字符串

正如我所說的發回控制器,I我使用了兩種方法,這取決於它是否適用於您

希望它有幫助

1

我無法測試這個,所以我不是100%確定的,但是看看Telerik的例子,它沒有被持久化的一個原因是因爲網格中的每個「頁面」都需要回發,並且在控制器行爲結果方法,它們沒有傳遞綁定到網格的項目的模型(或視圖模型),它們只是將該項目列表返回到視圖,因此它永遠不會「保存」檢查哪些項目/選擇,哪些不是。您應該能夠通過將您的視圖模型作爲參數放入HttpPost操作結果方法中,然後將該列表傳遞迴該視圖後的視圖,以便保留選擇哪些項目而不是創建新項目。這不會解決不選擇所有項目的問題,但它至少應保留在整個頁面中選擇哪些項目。我認爲它不適用於所有項目的原因是它只能選擇當時實際顯示的項目。您可能想要發佈帖子(或ajax)來選擇「全部」項目。

1

在網格中使用分頁的一個主要原因是,您不必從數據存儲中檢索所有數據並生成大量HTML以推送到客戶端。

大多數用戶都明白,「全選」複選框僅檢查當前頁面上的項目,這是我的經驗。我還沒有看到一個網站,檢查這樣一個複選框會實際檢查所有記錄,甚至那些我看不到的記錄。

如果你有一個動作,這將影響比記錄的當前頁面比較多,我建議你添加一個按鈕,這清楚地表明,動作會影響到所有記錄,然後發送一個命令到你的數據層,將執行該操作。這將會更好地執行(您不必通過電報發送可能長的ID列表),並允許用戶瞭解其行爲的影響。

+0

感謝您分享您的意見。不幸的是,在我的情況下,用戶會定期取消選中的內容所以,您的解決方案無法滿足我的客戶的需求。 – apros 2012-07-14 11:05:45