2011-08-18 64 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

相关问题