【问题标题】:Browser crashes while binding 25k-100k records绑定 25k-100k 记录时浏览器崩溃
【发布时间】:2017-02-09 07:04:31
【问题描述】:

在其中一个应用程序中,我需要一个网格来加载 10 万条记录,而无需使用 Kendo Grid 虚拟化进行分页。

使用的技术:SQL server 2012、asp.net web app、angular。

我在网格中有 15 列,最多 10K 条记录,浏览器正在加载 20,000-100,000 条记录并且浏览器崩溃。

我可以在没有分页的情况下在 Kendo Grid 中绑定 100k 条记录吗? 有没有其他方法可以在不分页的情况下加载 10 万条记录?

浏览器(Chrome、Firefox)支持的最大数据大小是多少?

【问题讨论】:

  • 不要一次加载这么多记录,显示时加载记录。在我看来,即使是1k也太多了。 100k 没有意义

标签: kendo-ui asp.net-mvc-5 kendo-grid kendo-asp.net-mvc


【解决方案1】:

根据:http://demos.telerik.com/kendo-ui/grid/virtualization-local-data 他们用 5 列加载了 500K。如果您在代码中注意到它们确实限制了某些浏览器上的较小数据。它可能归结为 JavaScript 内存以及 JS 处理该卷的速度。

我的建议:

  1. 将网格与服务器分页一起使用,但也允许服务器排序和过滤。我一次使用了 100 行的 OData,使服务器部分变得简单。

  2. 提供将数据导出为 CSV 或 Excel 的选项。

【讨论】:

  • 注意,如果使用当前的 OData,请确保使用类型:“odata-v4”,并且 Google 中的任何查询都会将 v4 添加到搜索中。 OData 在 v2 和 v4 之间有很多重大变化。
  • 在向 StackOverflow 提问之前,我已经看过演示。它与您的 people.js 一起工作正常,并测试了添加的 15 列。只会出现问题。我们正在使用 webapi,但在 Webapi 内部,他们通过 Ado.net 命令使用存储过程检索数据,并通过 angular 传递响应。我没有使用 OData,只是 Web API 通过 Angular Promise 返回那些响应绑定来绑定。注意:我的要求是没有分页。需要在不影响现有框架的情况下绑定数据1k网格。你的建议是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多