2012-04-11 68 views
1

我有一个kendo ui网格,并希望有一个导出按钮,这样当它们导出为CSV时,它们可以具有与显示的网格相同的过滤。获取kendo网格过滤器,使用KendoGridBinder按钮发布

我想后接受KendoGridRequest很像

[HttpPost] 
    public JsonResult Grid(KendoGridRequest request) 
    { 
     var employees = GetEmployees(); 
     var grid = new KendoGrid<Employee>(request, employees); 
     return Json(grid); 
    } 

我想补充一个出口按钮,将使用相同的过滤器在后这样 的出口行动可能还接受KendoGridRequest并会返回一个CSV文件

[HttpPost] 
    public ActionResult Export(KendoGridRequest request) 
    { 
     var employees = GetEmployees(); 
     var grid = new KendoGrid<Employee>(request, employees); 
     return ToCsv(grid); 
    } 

的KendoGridRequest类来自于KendoGridBinder项目

回答

1

基本上,您可以找到包含在Grid对象公开的dataSource字段中的所有项目(需要创建KendoGridRequest对象),并在将数据发布到Export action方法时发送它们。

var dataSource = $('#yourGridID').data('kendoGrid').dataSource; 
    var page = dataSource._page; 
    var skip = dataSource._skip; 
    var take = dataSource._take; 
    //etc. 

+0

这是伟大的,我可以给datasource._filter和所有的东西过滤此请求。有没有办法打包和发送容易,使控制器可以读取KendoGridRequest?所以我不必说ds._filter [0] .value等....... – eiu165 2012-04-13 05:32:24

+0

有没有办法打包和发送容易,使控制器可以读取KendoGridRequest? – eiu165 2012-05-16 14:15:00