0

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

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

4

1 回答 1

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 推送条件来过滤数据。

于 2013-09-12T17:53:38.483 回答