使用javascript过滤Telerik MVC Grid不适用于自定义绑定

时间:2011-08-18 12:05:23

标签: javascript telerik-grid telerik-mvc

我有一个使用自定义绑定的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网格在进行过滤时会做一些不同的事情。有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您是否尝试grid.rebind();而不是grid.ajaxRequest();

答案 1 :(得分:0)

确实问题在于过滤器存储在CompositeFilterDescriptors中。问题解决了。