我有一个使用自定义绑定的Telerik MVC网格。 使用javascript我将过滤器,页面和分组存储在cookie中,这样当用户重新加载页面时,过滤等就会恢复:
$(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)
您是否尝试grid.rebind();
而不是grid.ajaxRequest();
答案 1 :(得分:0)
确实问题在于过滤器存储在CompositeFilterDescriptors中。问题解决了。