1

我们正在将应用程序从 Telerik MVC 转换为 Kendo UI。我们的网格上有 jQuery 代码来捕获当前的 orderBy 和 filterBy 参数,因此我们可以将它们传递回我们的控制器。然后控制器使用这些参数创建 Excel 下载。

然而,orderBy 和 filterBy 现在在 Kendo 中是未定义的。如何检索这些值?

function onDataBound() {

    $('a.lnkDeal').each(function () {
        this.href = this.href.replace(/&/g, "%26");
    });
    var grid = $("#Deals").data('kendoGrid');

    // Get the export link as jQuery object        
    var $exportLink = $('#ExportToExcel');                

    // Get its 'href' attribute - the URL where it would navigate to        
    var href = $exportLink.attr('href');                

    // Update the 'orderBy' parameter with the grids' current sort state
    href = href.replace(/orderBy=([^&]*)/, 'orderBy=' + (grid.orderBy || '~'));
    // Update the 'filter' parameter with the grids' current filtering state        
    //href = href.replace(/filter=(.*)/, 'filter=' + (grid.filterBy || '~'));                
    // Update the 'href' attribute. Replace all ' with | to avoid security issue
    href = href.replace(/'/g, "|");
    $exportLink.attr('href', href);
}
4

2 回答 2

2

检查filter定义为对象并sort在 DataSource 中用于过滤和排序结果。

将这两个选项与serverSortingserverFiltering用于向服务器发送排序和过滤参数。

于 2013-10-14T15:09:24.013 回答
0

除了@OnaBai 的回答,您还可以查看迁移帮助主题:http ://docs.kendoui.c​​om/getting-started/using-kendo-with/aspnet-mvc/migration/widgets/grid#client-side-api

于 2013-10-15T15:45:04.993 回答