导出CSV - 带有过滤器的Kendo UI网格

时间:2018-04-03 14:03:49

标签: c# jquery asp.net-mvc kendo-ui kendo-grid

对于以Xlsx和Pdf格式导出Kendo Grid数据有开箱即用的支持,我正在寻找类似于以Csv格式导出的东西。

我尝试过在https://demos.telerik.com/aspnet-mvc/grid/server-export中描述的服务器导出,它只是将可见行发送给操作;我未经过滤的网格有超过250,000个条目。我正在寻找的输出是此表中的数据,其中应用了过滤器。我可以像填充网格一样再次获取数据并过滤数据服务器端,但我们如何将选定的过滤器传递给操作?

似乎有许多可能的解决方案,但我希望能节省时间走向死胡同。 Kendo的文档通常很好,但是我很难找到我需要的东西。

1 个答案:

答案 0 :(得分:0)

一种可能的解决方案是在网格上应用过滤器并将其发送到服务器端并将结果导出为预期格式。要在网格上应用过滤器,您必须对dataSource执行操作。

var grid = $("#myGrid").data("kendoGrid");
var filter = grid.dataSource.filter();

然后,您必须通过jquery ajax发送filter.filters数组到一个动作并将其绑定到Type,也许是这样的:

public class GridData
{
    public GridFilter[] Filters { get; set; }
    public string Logic { get; set; }
}

public class GridFilter
{
    public string Operator { get; set; }
    public string Field { get; set; }
    public string Value { get; set; }
}

然后,根据GridData对象获取数据并返回提供CSV信息。