【问题标题】:Kendo Grid Get All Table RecordsKendo Grid 获取所有表格记录
【发布时间】:2013-09-12 17:51:07
【问题描述】:

我正在尝试获取数据库中的所有记录,并将它们下载到 Excel 文件中。有超过 3000 条记录,但是当我从 Kendo Grid 获取数据时(我已成功将其转换为 JSON 格式),它只显示了我当前在页面上显示的 25 条记录。

我将服务器分页设置为 true,就像我说的那样,我的页面大小是 25。我可以采取一些技巧将所有 3000 多条记录放入我发送的 JSON 中,还是我只是在获取页面上当前显示的 25 个?

【问题讨论】:

    标签: json kendo-ui kendo-grid


    【解决方案1】:

    根据设计,您应该再次调用以获取要导出到 Excel 文件的数据。这将使页面保持轻量级。

    但是如果您仍然希望每次都加载所有 3000 条记录,您可以禁用服务器分页并启用客户端分页,这样您可以在 UI 上看到 25 条记录,但您有 3000 条记录作为响应。

    同样,您需要将 DataSource 与网格分开,以便共享网格。


    根据您的上一条评论:

    如果您使用 MVC (ASP.NET),您可以将 FilterContainer 对象作为参数传递给容器,以捕获过滤数据库中数据的所有条件。

    public class FilterContainer
    {
        public List<FilterDescription> Filters { get; set; }
        public string Logic { get; set; }
    }
    
    public class FilterDescription
    {
        public string Operator { get; set; }
        public string Field { get; set; }
        public string Value { get; set; }
    
        public List<FilterDescription> Filters { get; set; }
        public string Logic { get; set; }
    }
    

    在 JavaScript 中构建这个结构,从 Js 推送条件来过滤数据。

    【讨论】:

    • 这对我没有帮助,因为我需要将 Server Paging 设置为 true。此外,如果我将其设置为 false,则不会返回任何结果,并且网格中也没有任何内容。
    • 据我所知,Kendo UI 网格将始终按照分页设置的记录。
    • 我摆弄了它。毕竟我需要将服务器分页设置为 false,因为我有一个表的自动完成搜索字段,如果我将服务器分页设置为 true,它只会搜索显示的 25 条记录而不是所有记录。我也不得不稍微改变一下查询。
    猜你喜欢
    • 2013-05-29
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-16
    • 2015-03-20
    相关资源
    最近更新 更多