我正在尝试获取数据库中的所有记录,并将它们下载到 Excel 文件中。有超过 3000 条记录,但是当我从 Kendo Grid 获取数据时(我已成功将其转换为 JSON 格式),它只显示了我当前在页面上显示的 25 条记录。
我将服务器分页设置为 true,就像我说的那样,我的页面大小是 25。我可以做一些技巧来将所有 3000 多条记录放入我发送的 JSON 中,还是我只是得到 25 条记录当前在页面上显示?
我正在尝试获取数据库中的所有记录,并将它们下载到 Excel 文件中。有超过 3000 条记录,但是当我从 Kendo Grid 获取数据时(我已成功将其转换为 JSON 格式),它只显示了我当前在页面上显示的 25 条记录。
我将服务器分页设置为 true,就像我说的那样,我的页面大小是 25。我可以做一些技巧来将所有 3000 多条记录放入我发送的 JSON 中,还是我只是得到 25 条记录当前在页面上显示?
按照设计,您应该再次调用以获取要导出到 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 推送条件来过滤数据。