为了账号安全,请及时绑定邮箱和手机立即绑定

数百万行的JavaScript数据网格

/ 猿问

数百万行的JavaScript数据网格

慕斯卡3215842 2019-10-23 12:42:39

我需要使用JavaScript在网格中向用户呈现大量数据行(即数百万行)。

用户不应一次看到页面或仅查看有限数量的数据。

相反,应该看起来所有数据都可用。

并非一次下载所有数据,而是在用户访问它们时下载小块(即,通过滚动网格)。

这些行将不会通过此前端进行编辑,因此可接受只读网格。

对于这种无缝分页,存在哪些用JavaScript编写的数据网格?


查看完整描述

3 回答

?
一只萌萌小番薯

请参阅http://github.com/mleibman/SlickGrid/issues#issue/22,以获取有关使SlickGrid处理更多行的正在进行的讨论。


问题是SlickGrid不会虚拟化滚动条本身-可滚动区域的高度设置为所有行的总高度。用户滚动时,行仍在添加和删除,但是滚动本身是由浏览器完成的。这使得它可以非常快速而流畅(众所周知,滚动事件很慢)。需要注意的是,浏览器的CSS引擎中存在一些错误/限制,这些错误/限制限制了元素的潜在高度。对于IE,恰好是0x123456或1193046像素。对于其他浏览器,它更高。


在“大号固定”分支中有一个实验性的解决方法,它通过使用“页面”设置为1M像素高度填充可滚动区域,然后在这些页面中使用相对定位,来显着提高该限制。由于CSS引擎中的高度限制似乎有所不同,并且明显低于实际布局引擎中的高度限制,因此这给了我们更高的上限。


我仍在寻找一种方法,以达到无限制的行数而又不放弃SlickGrid当前在其他实现上所拥有的性能优势。


Rudiger,能否详细说明如何解决此问题?


查看完整回答
反对 回复 2019-10-23
?
守候你守候我

https://github.com/mleibman/SlickGrid/wiki

“ SlickGrid利用虚拟渲染使您可以轻松处理数十万个项目而不会降低性能。实际上,使用10行与100000行的网格之间的性能没有区别。 ”

一些重点:

  • 自适应虚拟滚动(处理数十万行)

  • 极快的渲染速度

  • 后台渲染更丰富的细胞

  • 可配置和可定制

  • 全键盘导航

  • 列大小调整/重新排序/显示/隐藏

  • 色谱柱自动定型和压入

  • 可插拔的单元格格式化程序和编辑器

  • 支持编辑和创建新行。“由mleibman

它是免费的(MIT许可证)。它使用jQuery。


查看完整回答
反对 回复 2019-10-23
?
吃鸡游戏

我认为最好的网格如下:


Flexigrid: http ://flexigrid.info/

jQuery Grid: http ://www.trirand.com/blog/

jqGridView: http ://plugins.jquery.com/project/jqGridView

jqxGrid: http ://www.jqwidgets.com/

英格丽(Ingrid): http : //reconstrukt.com/ingrid/

SlickGrid http://github.com/mleibman/SlickGrid

数据表 http://www.datatables.net/index

ShieldUI http://demos.shieldui.com/web/grid-virtualization/performance-1mil-rows

我最好的3个选项是jqGrid,jqxGrid和DataTables。他们可以处理数千行并支持虚拟化。


查看完整回答
反对 回复 2019-10-23

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信