使用Kendo UI网格,如何访问过滤和排序的数据?

Jas*_*ley 6 kendo-ui kendo-grid

我有一个可排序和可过滤的剑道网格。导出时,我想导出当前可见的所有数据,而不仅仅是当前页面。

$("#grid").data("kendoGrid").dataSource ->似乎是未排序和未过滤项目的原始列表。在Chrome开发者工具,_data以及_pristine似乎是相同的。

也有,dataSource.view但仅是当前页面上可见的10个项目。

有没有办法访问排序列表和/或过滤列表?

更新:我已经在剑道论坛上找到了这个答案,将看看是否有帮助。 http://www.kendoui.c​​om/forums/framework/data-source/get-filtered-data-from-paged-grid.aspx

Ric*_*k S 5

这是您访问过滤数据的方式:

 var dataSource = $("#grid").data("kendoGrid").dataSource;
        var filteredDataSource = new kendo.data.DataSource({
            data: dataSource.data(),
            filter: dataSource.filter()
        });

        filteredDataSource.read();
        var data = filteredDataSource.view();
Run Code Online (Sandbox Code Playgroud)

然后可以遍历数据:

 for (var i = 0; i < data.length; i++) {
            result += "<tr>";

            result += "<td>";
            result += data[i].SiteId;
            result += "</td>";

            result += "<td>";
            result += data[i].SiteName;
            result += "</td>";

            result += "</tr>";
  }
Run Code Online (Sandbox Code Playgroud)