2011-08-18 60 views
1

我有一個使用自定義綁定的Telerik MVC網格。 使用JavaScript我存儲過濾,網頁和分組在cookie中,這樣當用戶重新加載頁面,過濾等恢復:使用javascript過濾Telerik MVC Grid並不適用於自定義綁定

$(document).ready(function() { 
    //restore previously saved filters 
    var params = $.deparam($.cookie("MyGridCookie")); 
    var grid = $("#MyGrid").data("tGrid"); 
    var refresh = false; 
    if (params.filterBy && params.filterBy != "") { grid.filterBy = params.filterBy; refresh = true; } 
    if (params.currentPage && params.currentPage != 1) { grid.currentPage = params.currentPage; refresh = true; } 
    if (params.orderBy && params.orderBy != "") { grid.orderBy = params.orderBy; refresh = true; } 
    if (refresh) grid.ajaxRequest(); 
}); 

我使用完全相同的代碼沒有自定義網格綁定,這工作得很好。但是,在這種特殊情況下,參數command.FilterDescriptors爲空。但是當我手動輸入存儲在cookie中的相同過濾器時,過濾工作得很好。

顯然,當啓用自定義綁定時,與沒有自定義綁定的網格相比,telerik網格在過濾方面會有所不同。有誰知道如何解決這個問題?

+0

您是否找到解決問題的方法 –

+0

我剛剛從假日返回,但還沒有檢查過它,但我的一位同事已經看過它,並表示它必須與telerik將信息放在屬性中CompositeFilterDescriptors – Pieter

+0

你在哪個版本上工作? –

回答

0

事實上,問題是與過濾器被存儲在CompositeFilterDescriptors。問題解決了。

0

你嘗試grid.rebind();而不是grid.ajaxRequest();

+0

在這種情況下不起作用,因爲這會重置過濾器。 – Pieter

相關問題